Remember that VPCs in the GCP world are quite different from networks in the physical world or even on other cloud providers such as AWS. VPCs are more like Autonomous Systems (AS) because each VPC can include multiple disjoint IP address ranges.
Resources that are in the same VPC can communicate using internal IP addresses as well as using a project-internal DNS facility. This is true even if the resources are in different regions. For instance, consider two VMs, one in the US and the other in UK. Provided these are in the same VPC they will be able to communicate using internal IP addresses despite their physical distance.
By contrast if two resources are in different VPCs even if they happen to be in the same region or even on the same underlying bare metal box (remember that GCP VMs are multi-tenanted), they will still have to communicate...