Como você pode ver em getent ahosts localhost , as entradas do IPv6 para o host local têm prioridade sobre as entradas do IPv4. (Veja man getent e man nss se você quiser saber porque esse comando ajuda).
Curl é dual stack e pode resolver endereços IPv6 e IPv4, portanto, usa o endereço IPv6. Mas o servidor brilhante não funciona com o IPv6, portanto, o tempo limite é atingido, conforme verificado ao usar o endereço IPv6 diretamente. OTOH, se você usa 127.0.0.1 , este é um endereço IPv4, então é bem-sucedido.