Seu bloco server está sem uma diretiva listen :
listen [::]:80;
Esta diretiva diz ao nginx para responder às conexões IPv6 para esse server . Infelizmente você o omitiu e está respondendo apenas conexões IPv4.
Mas, como localhost resolve um endereço IPv6 (e, na verdade, IPv6 é o protocolo padrão para tudo na Internet), sua solicitação está sendo processada pelo bloco server padrão incluído na configuração padrão, que < em> é listen ing em IPv6.
Você deve ser extremamente cuidadoso para garantir que todos os server bloqueiem listen no IPv6 (obrigatório, mesmo se você ainda não tiver IPv6 global) e IPv4 (opcional, somente se você usar IPv4).