This is a well-documented known tension that all HNSW vector stores have to account for and deal with.
https://arxiv.org/abs/2403.04871
HNSW builds a navigable graph over all vectors. Its "small world" property assumes you can traverse from any node to any other in ~log(N) hops.
When you pre-filter: Graph query: posts with tag "tafsir" → 500 posts Vector search: k-NN among those 500