R0J0hound or Ashley probably could give a better explaining.
As far as I can word it, I guess the pairing code Ashley included in C2 makes it so that instances of different objects get associated when created in the same event.
So when you filter Sprite instances (health <=0) and then run through all the instances resulting as picked (for each sprite) in the subevent picking the first instance (index 0) of another object type returns the associated instance with the current sprite instance.
That's surely not clear, I'm sorry I don't know how to word it better for now.
As rojo said, it has to do with how events work and are processed.
One condition after the other from top to bottom and subevents pick up with the instances already filtered from the top level event.