Why GCP Kubernetes Node host location for europe-north1 seems to be in US?
It's good to be circumspect, but for the most part, you can trust that the big cloud providers like GCP, Azure, etc, are putting their instances where they tell you they are.
Geo-IP matching services aren't perfect. As best as I can tell, the issue here is just that the Geo-IP matching services you're using can't really know the location of Google's dynamic IP addresses as they're being reassigned.
These services use a combination of various methods to provide the geo-ip match, sometimes they grab addresses from whois records, sometimes they're using latency to triangulate general locations. This for the most part works to give you a general idea of the location, but in the case of GCP's pool of dynamic addresses, that are being frequently reassigned to new vms in new locations, they just can't keep up.
I tried to broadly recreate what you ran into with vms instead of a Kubernetes cluster. I launched an instance in both Europe and in the US. Doing a geo-ip match, both of the instances showed as being in the US, but when I pinged both addresses (I pinged from the United States), the latency definitely supported the vms being where they are supposed to be.