I have learned that it's possible for an app to determine the phone's location (at least to the granularity level of country) based on the current cellular network connected to the phone, even if there is no phone number associated with the SIM ( silent.link eSIM in my case). It can do this even if the app has no network permission granted, and/or if an always VPN is activated.
The app I discovered this with is My Expenses (found on F-droid).
After installation, it walks through examples and setup options which include currency options.
If the all SIM cards are selected off (or airplane mode is on), then the app with no network permissions refers to regional language settings to grab a default currency option.
However, as soon as a SIM is turned on / airplane mode disabled, then the app instantly recognizes which country it is in.
So it appears that an application can pull not only a country code from a number, but it can also pull the network provider to determine which country the device is currently in. It can do this even if it has no network permissions.
Is this expected behaviour?
Thanks