Yes, z min endstop is the limit. There are 2 solutions:
1. Send G1 S1 to disable boundary check. As long as z min does not trigger you can then go below z also host will not do it, but sending the gcode will work.
2. Use G30
- G30 H<height> R<offset> Make probe define new Z and z offset (R) at trigger point assuming z-probe measured an object of H height.
so it is not z min endstop but zprobe. Here you define real z=0 as table but on the same time you say where your z=0 virtually should be. So boundary check can still be in place.