A solution would be to form a seamless "boundary box" a bit like the invisible walls but enclosing the entire playing space, including just below the "ground" & set heights.

As mentioned, it is computationally intensive to check positioning at the current refresh rate (sub-3s?) but if they introduced a check at an arbitrary higher frequency (eg 45s) the load is reduced. Any player out of the box at their allocated check time will be flagged for investigation & immediately suspended.

To balance the server load it could be alphabet based. To counter tools moving a character back into the "safe zone" at set intervals the check frequency could be randomly changed. Nobody, not even the developers, would know exactly when the positions are to be checked.

If something similar was introduced then checking could have an even lower frequency, say once every 7-12 minutes, because the exact timing would be unknown & highly variable.