I have had the same problem. I even asked it on r/privacy but got no working answers. I even had DNS leak protection from my VPN client, I turned off WebGL, WebRTC and every conceivable way Google could know my real IP but they still seemed to get it.
But after much tinkering around, I was able to prevent this leak by changing several privacy settings from about:config.
To change these settings, Enter “about:config” on the address box on Mozilla Firefox, and search for these settings, and change their values as shown below.
privacy.trackingprotection.cryptomining.enabled = true
privacy.resistFingerprinting = true
privacy.firstparty.isolate = true
privacy.trackingprotection.enabled = true
browser.send_pings = false
dom.event.clipboardevents.enabled = false
webgl.disabled = true
beacon.enabled = false
browser.safebrowsing.downloads.remote.enabled = false
Here is the source for where I got all these settings from : www.privacytools.io/browsers
I do not know which specific setting is responsible for the IP leak, since I have not bothered to test each one of them individually, but I know when applied collectively, these set of settings do seem to block google from getting the real IP.
Unfortunately, I do not know of a way to make this work for Chromium based browsers like Google Chrome. As of now, this only works on Gecko browsers like Tor, Firefox, Fennec for android etc.
Try this and let me know the results 