No, the issue I'm seeing is that only multicast queries are being dropped. Other multicast packets are being forwarded as they should.
The switch itself seems to have a lot more options than what is exposed by swconfig, and it is possible that the current driver configures the switch wrong, I'm just not sure.
Since I am monitoring with tcpdump on the router itself, I believe that I am looking as close to the physical interface as I can, so that's why I think that the packets are dropped by the switch itself. However, I am not entirely sure.
Testing this is simple enough. Inject IGMP packets from a computer to a switch port, and run tcpdump on the router itself to inspect the packets on the switch (as I mentioned in the OP).
Use swconfig to turn on/off IGMP snooping in the switch, either globally or just for the port where you inject the packets, like so:
root@R7800:~# swconfig dev switch0 port 4 set igmp_snooping 1
I have my computer (from where I inject packets) connected to port 4 on the switch, and with snooping enabled, no IGMP queries are shown by tcpdump. If I then turn snooping off again:
root@R7800:~# swconfig dev switch0 port 4 set igmp_snooping 0
...then my injected IGMP queries are shown by tcpdump.
Multicast snooping for bridges are disabled by default, but that setting makes no difference. Enabling it (and also enabling multicast_querier) makes no difference. Again, I think this is because the switch hardware itself is dropping those packets. I've examined the datasheet for the switch chip (QCA8337N), but I can't find any setting that I think can cause this, so I am really at a loss. The only thing I am sure of, is that with IGMP snooping enabled, multicasting doesn't really work due to the queries being dropped. And with IGMP snooping off, the multicast traffic is flooded to all the ports, which I don't want.
Would be nice if @nbd or @blogic could chime in here, I can't believe I'm the only one seeing this issue.