To discuss:
In some cases, providing the highlight classes requires an extra join. So we may want to only do that join on demand.
This would require (sometimes - this could be annotated, so the frontend knew when it needed to reload) reloading the results when highlights change, which is a cost of its own.
See T176228: Special:RelatedChanges with edit filters has query error due to missing join on page table