So it never goes onto the address bus. So it never causes an addressing issue.
The 24-bit issue of the 68000 is fundamentally different. Those tagged 32-bit pointers were used directly, but truncated by the width of the actual physical interface so they never touched the outside world.
...until Motorola released CPUs with full 32-bit address pins on the package. Oops.
Tagged pointers that don’t make it to the bus are still a compatibility problem. It means malloc() can’t return an address overlapping the tagged bits.
I recall many people running non 64-bit clean apps complaining about Catalina, which I found curious.
"Abusing" unused address bits is then just a matter of ensuring that any virtual addresses you use are restricted to the appropriate range. "x32" binaries do this in order to ensure that any pointers will fit within 32 bits even on x86-64, for example.