Let me see if I miss something basic here.
The pagination has to be done per source UID. It is not sufficient to apply it to the filtered sorted array because that is the union of all the destination UIDs? Instead, we need to apply the filter to posting list of each source UID, apply the pagination, then merge again to get a new sorted?