Видно что проблема только в мобильных браузерах, то есть обычный браузер с маленькой шириной проблему не воспроизводит. Еще видно что место до куда скролится страница зависит от ширины экрана.
Страницы в мобильном и узком десктопном браузере выглядят одинаково.
Судя по тому как дергается страницы - отрабатывает setTimeout/setInterval/onscroll, который и возвращает scrollTop.
Кода очень много, сложно отлаживать его онлайн.
Нужно отключать понемногу функции типа scroll() и смотреть за результатом.
Или попробовать переписать функции определения мобильного браузера, чтобы все браузеры считались десктопными.