Почему таймер обратного отсчета замедляется, если вкладка сайта не активна?
А вы считаете корректным, что вы занимаете ресурсы пользователя на то, что он не видит?
В последнее время браузеры ограничивают такие вещи - и для экономии электроэнергии в смартфонах, и во избежание "майнеров в браузера" и пр.
Как решить?
Актуализировать по текущему времени при активации вкладки.
А по уму - еще и останавливать при уходе с вкладки.
Можно попробовать хранить не значение счетчика, а время конечного момента. А по счетчику показывать разницу в секундах между текущим временем и конечным. Тогда никакой фриз не страшен, как только время выйдет дельта станет отрицательной.