Hi,
It seems this behavior is because of the immediate-leave configured on the switch near the headend.
"When using IGMPv2 snooping, use immediate-leave processing only on VLANs where just one host is connected to each interface. If immediate-leave processing is enabled on VLANs where multiple hosts are connected to an interface, some hosts might be dropped inadvertently."
The EX can be configured for IGMP L3 operations by configuring it as an IGMP querier with a routed interface [RVI] in that vlan.
With igmp snooping, IGMP messages [protocol IGMP] are inspected and sent to the RE [cpu] for snooping processing. Once the multicast cache table is generated from that, I believe the actual multicast traffic [protocol not being igmp] is not inspected by the RE but forwarded by the PFE after lookup in the forwarding table.
Hope this helps.
Cheers,
Ashvin