Moving on...
You want an immediate stop without an Emergency Stop, similar to what you get on some automatic machines. But there are huge differences between PLC-driven automata and a CNC. For a start, the eStop system on a CNC is an EMERGENCY stop system. It does not and CANNOT do what you want.
Mach (and any other CNC system) is not a simple bunch of 'logic gates', like a PLC. The SW has several threads. One calculates what steps the system needs to take to meet the g-code orders. In the case of a stepper system, 'steps' is literal. This stream of micro-insructions is passed on to the output queue, which may include an external motion controller such as the ESS. The ESS gives orders to the servo drivers. (And that hides a huge swath of critical detail anyhow.) In the case of a non-stepper system, the servo drivers and motors will not be immediately consistent with the incoming microsteps: there will be a tiny delay. It's called 'follower error'. Some of this is due to inertia in the motors and carriages. Real world physics.
So when you hit feedHold, that instruction has to go through a fairly complex chain before it is done. At the least, the motors must be decelerated to a stop without the system losing track of where they are. You can restart a CNC after a feedhold and have it continue cutting accurately (sometimes). Doing that is HARD. On the other hand, a PLC system does not have any of those worries.
A CNC is a tool. It does certain things (very well). But you need to understand what it does before you can use it to best advantage.
Cheers