Если я правильно понял требования, это будет делать то, что вы хотите. Таймер отключается каждую секунду до истечения 20 минут, затем каждую секунду до истечения 5 минут. В этот момент он начинается заново с 20-минутным обратным отсчетом.
const workDurationSeconds = 20 * 60;
const breakDurationSeconds = 5 * 60;
function startCountdown(session) {
let duration;
if (session === 'work') {
duration = workDurationSeconds;
} else {
duration = breakDurationSeconds;
}
let id = setInterval(() => {
duration--;
if (duration <= 0) {
clearInterval(id);
startCountdown(session === 'work' ? 'break' : 'work');
}
}, 1000);
}