Hi,
I don't understand exactly what the problem is, but one thing I see is that when you have something like that:
var hitting = Global.isHitting
Then you just copy value of the Global.isHitting
at the time when your scene is created.
Since your Global.isHitting
will be just boolean (simple type) then it will be probably just copied, so later when you set:
hitting = true
It doesn't change value stored in singleton.
It would be different if that would be more advanced type like Array
or Dictionary
then it would be passed by reference and work more as you expect.
Anyway I have no idea if that is something connected with issue you ask about, because it is not connected with sending signals.