Hi,
the wiring rather depends on how many inputs you have to spare on your BoB/controller.

I am completing my new build mill, my second, having made a mini mill seven years ago, with my own BoBs but with an ESS and Mach4. This build has 32mm
ballscrews, 750W AC servos, 100+kg cast iron axis beds etc. So for this project I've been a lot more careful about Home and Limit switches than I was
with my previous machine.

I have two Limit switches per axis and one Home switch per axis for total nine switches for three axes. Each switch is NC on its own input, ie I have devoted
nine inputs to Limits and Homes. You might think that seems like a lot of inputs....but then again the ESS has plenty of inputs to spare so why not use them?.
In the early days of hobbyist CNC when people use a parallel port it was necessary to combine switches in strings to reduce the number of circuits down to the number
of available inputs. Controllers like the ESS and C25 BoBs mean we don't have to be that frugal anymore.

You posted a circuit diagram with two switches in series, and that would certainly work. If the circuit opens, because either of the Limit switches activated or a break
in the wiring the Mach will Estop....as it should. But Mach won't know whether the X-- or the X++ limit activated. Its a small detail but if you have one switch per circuit,
ie two inputs, then Mach would know which Limit activated and would prevent you from jogging in a direction that would see the overlimit event get worse while allowing you to
jog in the direction to get within the Limits.

You might also ask why have a separate Home switch. Mach it quite adept at treating Limit switches as Home switches when in Homing mode.....it must disregard the
Limit switch circuits while this is happening, and your machine is temporarily unprotected by Limit switches. Whereas if you have a separate Home switch, again on its
own input Mach will never be confused about what is a Limit event and what is a Home event.

Given that I have made my own BoBs gives me greatest flexibility with regards to inputs and outputs. I have split the BoB into two boards. The first board has input
from port 1 of the ESS. I have used its 12 outputs, 10 as Step/Dir for 5 servos (only using three currently), and the other two outputs for a ServoEnable commoned
to all five servos, and an AlarmReset again commoned to all five servos. The ports five inputs have been used as an Alarm signal from each of the five (possible) servos.

The second BoB board accepts the two remaining ESS ports, configured as pins 2-9 as inputs for both ports. Thus this board has 24 inputs (2 x 12) and 10 inputs (2 x 5)..

As previously discussed I've devoted 9 inputs to Homes and Limit. I have two inputs for Estop and Feedhold, another input for a probe.. Thus I have committed 12 of my
available 24 inputs. I have two outputs for the spindle, one for the relay and one for PWM, and yet another output for the coolant pump. Thus I have committed 3 of the available
10 outputs, not counting the Step/Dir/Enable/AlarmReset outputs of port 1.

All-in-all the ESS gives you considerable flexibility to wire Homes and Limits to suit what you deem as best practice. My definition of best practice is one switch, one input.....
no confusion about operating modes....its either a Limit OR a Home and no doubt about it.

Craig