Eu tive o mesmo problema ao configurar um proxy Nginx para um registro do Docker. Acabei fazendo:
client_max_body_size 0;
proxy_http_version 1.1;
proxy_request_buffering off;
client_max_body_size ainda tinha que ser 0 para evitar o erro, mas watch -n 1 du -hs . mostrou claramente uma diferença. Buffering fez os dados aparecerem após a solicitação, nenhum buffer fez aparecer durante a solicitação.
proxy_http_version 1.1 é necessário devido à codificação em partes. Citação dos documentos do Nginx:
When HTTP/1.1 chunked transfer encoding is used to send the original request body, the request body will be buffered regardless of the directive value unless HTTP/1.1 is enabled for proxying.