либо выполняет поиск на сервере и преобразует «localhost» в «127.0.0.1»
или он передает «localhost» клиенту, который все равно преобразует его в «127.0.0.1»
Так или иначе, клиент должен быть перенаправлен на 127.0.0.1, который должен быть
правильный.
Я не эксперт по nginx, но не понимаю, почему ваш пример не сработает.