Гипотетический экран отчёта сначала насчитывает 12 подходящих заказов. Другой сеанс добавляет подходящий заказ и фиксирует транзакцию. Затем экран запрашивает первую страницу на уровне Read Committed.
В PostgreSQL 18 каждый SELECT использует снимок на момент начала своего оператора, поэтому общее число может описывать прежний набор, а страница уже содержать только что зафиксированный заказ. Само по себе объединение двух SELECT в транзакцию не даёт им общего снимка на уровне Read Committed.
Требование состоит в том, чтобы число и строки описывали один отчёт, даже если к моменту отображения появились новые заказы. Лучше выразить это одной транзакцией Repeatable Read вокруг обоих запросов или получать отчёт одним объединённым запросом? При любом варианте я бы обновлял оба значения на экране вместе.