I have a VirtualBox host (linux) with a Windows 8.1 guest. The virtual network configuration for that guest:
After disabling auto metric on the host-only Adapter2 (in the guest OS) and fixing it to either 1 or 800 (i.e. it doesn't matter if it is higher or lower than the metrics of Adapter1), I could send multicast traffic (via tcpreplay) from the host to the paravirtualized interface (eth0), and an app on the guest can receive it on Adapter1.
When sending the same data to host-only adapter (vboxnet0) though, I cannot receive it in the guest on Adapter2. Although wireshark does capture the packets:
This looks similar to when I try to receive packets that arrive on the NIC, without joining the multicast groups, i.e. it looks like the network stack discarding packets because the app has not joined for those multicast addresses.
So how is it possible to receive multicast data on a host-only adapter?
I tried it again today, again setting the metrics manually so that the host-only adapter's metric would turn out the lowest (= highest priority), and: It works!
I'm pretty sure that's what I did the other day when I posted the question, so I'm not sure what changed, but in any event: Multicast reception via host-only virtual NICs is indeed possible.