By using Google Cloud VPN you've connected you on-premises network to your Virtual Private Cloud (VPC) network through an IPsec VPN connection.
Let's have a look at the IP addresses that VM instance can have:
Each VM instance can have one primary internal IP address, one or more
secondary IP addresses, and one external IP address. To communicate
between instances on the same Virtual Private Cloud (VPC) network, you
can use the internal IP address for the instance. To communicate with
the internet, you must use the instance's external IP address unless
you have configured a proxy of some kind. Similarly, you must use the
instance's external IP address to connect to instances outside of the
same VPC network unless the networks are connected in some way, like
via Cloud VPN. Both external and internal primary IP addresses can be
either ephemeral or static.
As a result, VM instance is using internal IP to communicate with your server located in on-premises network.
More details about external IP you can find in this section:
You can assign an external IP address to an instance or a forwarding
rule if you need to communicate with the Internet, with resources in
another network, or need to communicate with a resource outside of
Compute Engine.
As it was mentioned by @Carlos, external IP address on GCE VMs are an abstraction level and you'll only see internal IP address on interfaces if you connect to your VM instance. In addition, if the VM instance doesn't have an external IP it should use Cloud NAT.
So, it's intended behavior that you were able to ping only internal IP address though Cloud VPN connection from your on-premises network and not able to reach external IP addresses of VM instances and resources at the Internet.
You can reach resources at the Internet through the VPN connection by using 3rd party solutions that you can find at the Marketplace.