Using git-send-pack to push to a local repository will propagate the
environment variable GIT_OBJECT_DIRECTORY to git-receive-pack.
git-receive-pack correctly ignores GIT_DIR (as opposed to what the
documentation says) but, unfortunately, honours GIT_OBJECT_DIRECTORY.
It's not clear to me whether the correct behaviour is for git-send-pack
to clean up its environment before it execs or for git-receive-pack to
ignore most GIT variables.
Interposing a short script with env -i or env -uGIT_OBJECT_DIRECTORY is
the easiest workaround.