Great explanation - thanks.
Ran into an issue today where an access switch was learning the macs of connected access points, but the upstream L3 switch was not learning the macs, even though the L2 <-> L3 switch trunk was properly forwarding the correct VLANs.
Turned out that the APs were in a "special" state and only sending CDP frames. So, those multicast frames were not forwarded upstream to the L3 switch, hence no AP macs in its mac address table.