Не уверен, как работает sticky, но судя по всему он не считается в основном потоке елементов DOM, поэтому при скролле надо задать offset, пример стыренный со stackOverflow
const id = 'block';
const yOffset = -50;
const element = document.getElementById(id);
const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;
window.scrollTo({top: y, behavior: 'smooth'});