Очень редкая и незначительная ошибка, делюсь ею здесь в основном для тех, кто может с ней столкнуться.
У нас был форум, где FAQ не помечался как прочитанный для пользователей. После очень, очень, очень долгой отладки выяснилось, что причина в том, что этот конкретный FAQ заканчивался ссылкой на другой пост на форуме.
Этот пост был внедрён, из-за чего в странице /faq присутствовал элемент <aside class="quote"...>, являясь последним потомком внутри div.cooked, поэтому это никогда не срабатывало.
isElementInViewport(document.querySelector(".contents p:last-child"))
Проблема была решена путём редактирования FAQ и добавления точки . на пустой строке в конце.