Regarding your last point on feeling cheated, there are two aspects to it. Right now if you check the price of Slack with an indian IP, you will see $2.67 for the lower tier (6.67 for the US), Netflix will give wildly different prices per country [1], and Survey monkey gives me the same USD price in Euros. People expect to pay different prices in different countries.
The other aspect is to prevent a user from receiving different prices. To prevent that we do a few things. We remember the prices that were displayed to a user and can make sure an entire country gets the same prices during an experiment.
[1] https://www.comparitech.com/blog/vpn-privacy/countries-netfl...