The 304 response from the upstream server ended up being the culprit. If I changed the upstream server to have 'if_modified_since off;" and thus always respond with a 200 and the content, the problem is resolved. To freshen the mirror, I can then simply remove the mirrored content from the downstream server; no nginx processes even need to be restarted.
Maxim, this may be obvious to you, but it wasn't to me, and no documentation pointed me in this direction. As a suggestion, a small note about the significance of setting i-m-s off on upstream servers in such mirroring situations in the documentation about proxy_store would be helpful.
As always, I'm extremely grateful for your work, and for the others that provide this awesome software.