Yes, this is expected behaviour.
Even though PC3 sees the ARP request from PC1, it does not populate it's ARP cache with the IP-to-MAC mapping of PC1.
While this may not seem to be the most efficient method of distributing address to host information, you need to remember that the ARP protocol was developed in 1982[1] and even back then the author made the following very relevant point:
The workstations aren't generally going to be talking to each other
(and therefore have 100 useless entries in a table); they will be
mainly talking to a mainframe, file server or bridge, but only to a
small number of other workstations (for interactive conversations, for
example). The protocol described in this paper distributes information
as it is needed, and only once (probably) per boot of a machine.
It would be a trivial usage of resource on today's PCs to populate the entire ARP table for the local subnet(s) the machine resides on, but perhaps not so for a networked machine back in 1982.
[1] RFC826 - An Ethernet Address Resolution Protocol - https://www.rfc-editor.org/rfc/rfc826