Well, in
? _unit == player : exit
You are saying "if the unit is the local player, then exit". This means that yes, it can only ever exit on one machine.
However, in
? isPlayer _unit : exit
You are saying "exit if unit is controlled by a player, whether local or not", so this should work, assuming that _unit is correctly set on every computer. I suspect that you aren't setting the value of _unit correctly on the other machines (it is a local variable, so it can't have been set by publicVariable from another machine. I'd suggest trying using a formatted hint to check whether it is the expected value).