Основная проблема с вычислением номеров страниц была в discourse-sitemap:
Проблема с кэшированием была исправлена здесь:
Я также исправил проблему с ошибкой «не найдено» в ядре (незначительная), когда при запросе второй страницы, но наличии только 20 постов (1 страница), сервер отвечал кодом 200: