When saving an Entry, I receive a JSON response rather than returning to the Entry's edit page
IMO, the issue is with this line.

SetEnv HTTP_ACCEPT text/html,application/xhtml+xml,application/xml,application/json;q=0.9,*/*;q=0.8


With ACCEPT headers set to a fixed value, it's impossible for Craft 3 to distinguish between Json and HTML requests. This must have been a necessity with the nginx proxy setup.

I suggest removing this line from Apache and configure nginx to pass through the original request headers.

If you use proxy_pass, trying adding this line

location / {
    ...
    proxy_pass_request_headers on;
    ...
}


OR, if you prefer a more direct approach

location / {
    ...
    proxy_set_header Accept $http_accept;
    ...
}