En cada consulta paginada, veo 2 consultas, una es una consulta con límite y compensación. Uno es contar.
¿Tiene esto algún problema de rendimiento en cada solicitud cuando hay varias uniones?
JOINs puede o no ser un problema. Depende de si se debe completar el JOIN antes de hacer la paginación.
Si el Optimizer no puede llegar a OFFSET y LIMIT lo suficientemente pronto, tendrá que generar todas las filas posibles, ordenarlas, omitir las filas de OFFSET y finalmente entregar LIMIT filas.
Si el Optimizer puede hacerlo mejor, entonces la primera página es rápida; la segunda página es el doble de lenta; etc. Cada página es más y más lenta por tener que pasar por encima de todas las páginas anteriores.
Es decir, OFFSET es el verdadero problema. Es mejor "recordar dónde lo dejaste".
Más discusión (dirigida a MySQL; puede ser incómodo asignar la solución a su capa de marco): http://mysql.rjweb.org/doc.php/pagination