An signal sent by a subprocess is not captured correctly in an intermediate capture event right after sent.
To detect, you can set the scope to project instead of per process and previous instances of the project will capture the signal (as at that time they have the listener waiting for the signal)
To avoid problems with the action nodes (intermediate throw) I added a new metadata for the node
"asyncSignal" when is set to true the signal is process after finishing processing the current flow.(like a passthrough)