I updated XO to latest commit (a2267), but still the same issue. In the end I gave up and reinstalled XO completely from scratch, by doing the exact same steps I did last time, in order to see where it breaks. OS + packages are the same, plugins + conf the same, everything. Only this time I'm able to restore backups successfully even though the two installs are identical. I'm suspecting some type of file corruption but I'm not sure. I already checked the whole xen-orchestra directory for any differences but could only find this one:
./node_modules/.yarn-integrity
4268a4269,4274
"argon2@0.28.5": [ "lib", "lib/binding", "lib/binding/napi-v3", "lib/binding/napi-v3/argon2.node" ],
I'm trying to compare the two installations further when I have time in order to see why the one works while the other doesn't. For now I'm able to restore backups at least.
Many thanks for your help @olivierlambert .