I think that this additional filtering is useful and I would not get rid of it. If you assume an input with a number of assets (of the same taxonomy) bigger than the block size, then an hazard getter instance might fetch more hazard data then really needed by the calculator.

Beware of the fact that an hazard getter is instantiated by passing in input a set of assets and should compute hazard only for such set of assets. If you remove such filter, you are relying on the fact that the spatial filter in the inner select is doing the job, that is wrong as soon you have at least two assets near the same hazard site but one of them has not been assigned to the hazard getter.