Как вариант, прокручивать невидимый пустой высоченный div.
Контент держать в другом div,
position: fixed;
, положение его менять программно по событию "scroll".
Когда скролл доходит до высоты, где должна быть анимация, движение контента приостанавливается.
Когда вышли из зоны анимации, движение продолжается, с поправкой на пропущенную высоту:
document.addEventListener('scroll', () => {
let offset = window.scrollY;
const start = 685; // начало стоп-зоны в px
const stop = 1000; // конеч стоп-зоны
if (offset >= start && offset < stop) {
offset = start; // стоим на месте
} else if (offset >= stop) {
offset -= (stop - start); // продолжаем движение
}
content.style.top = `-${offset}px`; // позиционируем контент
});