As you can see in the following screen recording, it works fine for me in the staging site as well.
hidden link
So if there is an issue in your site even after adding the code and excluding the cookie as I explained in the reply linked next it should be due to your server caches or due to your browser issues.
The option that you recommend in w3tc settings has a disclaimer saying "Never cache pages that use the specified cookies.". As far as I understand this would mean disabling caching on all of my pages. How can you recommend this as a solution for an ecommerce site?
I have disabled the cookie in the Cache Groups w3tc settings, before I did that even going to specific product page would not update currency correctly per geolocation. I have server side caching disabled. The issue persists. Please advise. Disabling caching all pages is not a solution.
It is actually expected that when a page is cached with plugin that is not fully compatible with WCML the Multi currency features might not always work unless you don't cache the pages using WCML related cookies.
However after your reply I looked into the issue further and setup three different Cookie Cache Groups in W3 Total Cache plugin as shown in the screenshot attached. I also removed he page cache cookie exception that I added before and it seems to work fine now. Note the code in my previous reply linked next to store WCML data as cookies instead of WC session is still required.
In the site hidden link when I edit the Homepage , I can see that the Likst below "POPULAR" heading is static texts so it is expected that it always shows the fixed/static text.
Please check with dynamic Products widgets or Products instead. I checked the Shop page hidden link and Product URLs like hidden link and they seem to work fine.