Наверное если нужна прям пагинация, то логичнее возвращать не статьи, а количество статей и отдельным запросом получать уже ресурс-статьи с пагинацией.
Если просто топ-5 статей нужно, то проще всего в контроллере извратиться и загрузить в цикле к каждой выводимой категории топ 5 статей через
lazy contrained loading, иначе сделать отдельную связь типа lastPosts, которая бы возвращала коррелированный запрос, возвращающий пять последних статей для списка категорий