Funny enough, we´ve had separated queries for data + count for the longest time. We´ve "just" (June 2025) got rid of them:
https://github.com/r3-team/r3/commit/6c8d1f44e491639786aa8ad0c9814f8940d2c6b9
Our benchmarking consistently showed that running separate queries results in much worse performance, especially if heavy filtering was involved. Reason being that Postgres had to evaluate the filters (incl. relation policies) again when running a separate count query, as totals take filters into account.
If I remember correctly, we mostly tested with common scenarios, and never much more than 100.000 records - so maybe this is different with much larger data sets.
If you want to spend the time to benchmark this, I would be interested in the results - though we´d need to re-evaluate our old tests before we´d consider going back to the old way.
Do you currently have "bad" performance in r3? (bad as in significantly worse than querying the DB directly outside of r3)