Remotely confused

I have a folder with a .dvc/config file.

    remote = mnt-tank
    autostage = true
['remote "mnt-tank"']
    url = /mnt/tank/data/sleep

Previously, this was:

    remote = tank
    autostage = true
['remote "tank"']
    url = /home/john/tank/data/sleep

Everything seems to work fine. I can dvc push in the folder, and it says everything is up to date.
But, if I want to be sure everything in the cache is in the newer mnt-tank remote, and I do this:
dvc push --all-commits --recursive --remote mnt-tank
In addition to listing thousands of (MD5-named) files that aren’t found, it tries to push files to the old remote location, /home/john/tank/data/sleep.

Can someone enlighten me as to what’s happening, and how I can push everything in the cache to the newer remote?

In the older commits, there is not mnt-tank remote found since it was only defined in the newer commit. A workaround is to setup mnt-tank in the local config at .dvc/config.local so that it will be used even if it’s not part of those older commits.