I found a way to make it work using the try_files directive. I had actually tried this before posting the question, but for some reason my first attempt made every request 404. This seems to work, though:
server {
# Moved the root up one level
root /home/fraxtil/app;
location /static/ {
# Try the primary instance's static folder, then the fallback's
try_files /primary/$uri /fallback/$uri =404;
}
...
The only drawback here is that all requests for nonexistent static files will hit the disk twice, but that shouldn't be too big of an issue.