Is there a reason lockFor(nodeId) returns false when nodeId has the lock? Note that allowing mutex-gate-ACQ to be pulsed multiple times might create an issue if you are using mutex-break to force all other parts of the program to end so you can take execution in a new direction (the loop pulsing ACQ multiple times is likely to fire again and re-acquire the lock).
It seems Mutex will often be used with a device (but not always). Would it make sense (or even be possible) to have a mutex-dev node that takes in a DEV (generic type?) and outputs a single pin with both Mutex & device (MUXD)? There would need to be a 2nd node to split MUXD into DEV & MUX so existing nodes do not need re-written. This would not improve functionality, but would reduce pin-count on nodes needing to pass both (which would be all nodes using a device we are managing with mutex).