const downBtn = document.querySelector('.down-btn');
downBtn.addEventListener('click', () => {
document.body.scrollIntoView({behavior: 'smooth', block: 'end', inline: 'nearest'});
})
analogicznie dla top też użyłbym tej metody, tylko w block ustaw wtedy "start". Nie widzę za bardzo sensu bawienia się w ten dziwne obliczenia i scrollTop. To jest wg mnie wygodniejsze i czytelniejsze.