On my IP/A setup i used mechanical limits and mechanical homes, two limits and one home per axis.

My limits are a high power circuit (24v contactor circuit as opposed to a logic circuit) as they are wired to a PILZ relay for the safety circuit which cuts all power to the drives if tripped - I really did not want to risk runaway blowing the end brackets off my table :)

The homes are inboard of the limits and i use home-offset to set the locations.

It all works well here.

When using mechanical switches, get quality ones with Gold-flashed contacts, these will not degrade under logic levels, normal switches rely on an arc to keep the contacts clean - these will fail pretty fast at logic voltages.