O Nginx aplica apenas um local, nunca mais. No seu exemplo, ele aplicará o cabeçalho expires aos arquivos estáticos existentes, mas quaisquer arquivos não encontrados e, portanto, provenientes do local @upstream, ignorarão as diretivas access_log, expires e add_header da localização estática.
Se você quiser definir a validade, deverá duplicar a diretiva em ambos os locais. Também pode ser necessário definir proxy_hide_header .