А как быть если вы, например, используете десктоп (стационарный компьютер)? В большинстве из них GPS отродясь не было. К тому же вы можете отключить GPS на телефоне/планшете. Это ваше право как пользователя в большинстве стран. А настройки, ну к примеру я проживаю далеко от России, но вполне могу включить русские настройки, например. Нравится мне так.
IP адрес же, как правило, оказывается лучшим методом определения вашего местоположения в сети.
А что касается VPN. Многие публичные VPN сервера используют конкретный диапазон IP адресов. Выяснить ваше настоящее местоположение может и не удастся. Но вот определить что вы пользуетесь VPN сервисом и, например, заблокировать вам доступ (как это делают некоторые медиа сайты, например BBC, где смотреть телепередачи онлайн можно только с британским IP) вполне можно
Сайт может запросить ваше местоположение, но вы можете отказать ему в этих данных. Или в вашем браузере может не быть такого функционала.
Проверка по IP адресам более надежная, VPN/proxy пользуется меньшенство