In a topology like the one you show in your post, MAC address learning on all of the ports for SW1 and SW2 will be the same. A switch will always populate its MAC address table with the source MAC addresses arriving on specific ports. This is also done on the ports connecting the two switches. And it is also important to note that this is done regardless of the port type. If SW1 and SW2 are connected via a trunk, MAC address learning will still occur on those ports.
So in essence, the MAC address table entries for the port on SW2 where SW1 connects, should have multiple MAC addresses, including all of the hosts connected to SW1.
Now concerning ARP, you are correct. ARP responses are unicast responses that contain the source MAC address of the responding host. That means that the switch will indeed learn about that MAC address and populate the MAC address table accordingly. So after an ARP exchange, a switch will know the MAC addresses of both hosts.
However, the lesson was written in this way to emphasize that these are two separate processes, independent from each other, but related. This is the reason why Rene emphasized that when a switch doesn’t have a particular MAC address in the MAC address table, any frame destined for that MAC address will be initially flooded.
Keep in mind that there are many cases where ARP is not sufficient to keep that MAC address table up to date. For example, a MAC table entry expires, by default, after 300 seconds (5 minutes). An ARP entry in a host expires after four hours, again by default. This means that hosts may send traffic to destination MAC addresses that have expired without needing to send an ARP request. In this case, the flooding of such frames is a necessary part of the process of communication.
I hope this has been helpful!