Unicast Flooding due to Asymmetric Routing

Hi, i lost you at this part

SW2 will put the IP packet from host 2 in an Ethernet frame that has its own MAC address as the source. It will then be forwarded to SW1. The problem here is that SW1 will never learn the MAC address of host 2.

When H1 actually replies with icmp reply packets, wouldn’t the switches learn of H1’s mac address in their vlan/trunk ?
I can understand the initial broadcast to get H1 to reply, but what i dont understand is why this problem persists for the entire 1000 frames.

Do the switches (mac-address-table) only get updated with ARP packets or do they do so for all sort of frames ?