By default, lazy highlighting is lazy. It doesn't highlight beyond what's visible or has already been visible. You want to make it highlight matches everywhere, even those not yet visible.
Try setting option
C-h v tells us:
lazy-highlight-buffer is a variable defined in
Its value is
You can customize this variable.
This variable was introduced, or its default value was changed, in
version 27.1 of Emacs.
Controls the lazy-highlighting of the full buffer.
nil, all text in the buffer matching the current search
string is highlighted lazily (see
This is useful when
lazy-highlight-cleanup is customized to
and doesn’t remove full-buffer highlighting after a search.