Maxim, thank you for the prompt response. I am entirely willing to believe that this is a misconfiguration, but I cannot figure out what I've misconfigured. The upstream server shows no errors in its error log; its access log does a 200 for the first GET, and 304's for subsequent GETs. The downstream server continues to log errors about no such file or directory, and the file doesn't exist in the expected location. The behavior remains consistent even if I set proxy_set_header to $host on the downstream server.
What should I be looking at to track this down further? I'm happy to look at (or post here) any logs or headers or configuration.