Screenshots would have been better. I can't read any of the settings you have there.
However I only watched the first part where you show a trigger event and then the despawn action and may have spotted something wrong (or not... can't read it).
Anyway, your trigger event stores a collider for the object hit. That gameobject variable is 1 word. In the action to despawn, that gameobject variable is two words. So how does the despawn action know what to despawn? It's not using what the trigger hit. It's using something static.. hence why it's everything?
Anyway, what about doing it a different way.
1) Object with collider
2) Trigger event for that object which stores the collider (what it hits)
3) Send Event to that object hit
4) Each object you want to move has an FSM which idles until it receives the event, at which point it transitions to an action that tells the object to despawn itself
Depending on how your pooling actions work, it may be easier to do it this way because you tell the object to do it to itself and not have to ID the correct target.