This is strange. Before I asked the question I did ssh and check the filesystem with df -h and I think there was only around 60MB available. I figured that this was why I was getting the cp error. Today I saw that it was only 23 MB used and 104 MB available, still couldn't flash the firmware.
I tried the s9_fix_upgrade but I got the errors you can see in
https://pastebin.com/icy9au1x. Mainly this one seems very similar still:
mkdir: can't create directory '/mnt/config/home/usr_config': No space left on device
The miner seems to be rebooting itself every 15-30 minutes, and every time the factory default pools are restored...
I guess trying to flash with microSD is the next step?