The limits are applied after tool offsets have been applied. In most situations, I think this makes sense. For example, on a print head with 2 nozzles, it it the head that is limited in the possible X and Y movement, not the individual nozzles. But I can see that for an IDEX machine there is a case to be made for applying the Z limit before applying the tool offset.

One workaround would be to choose your Z origin such that all tool Z offsets are zero or negative. But this wouldn't prevent you from crashing a tool with a negative Z offset into the bed.