Well, the good news is it worked.
Nearly.
UrBackup got nearly everything right … except for the bootloader. VeraCrypt complained with “Disk error. Loader damaged! Repair with Rescue Disk”.
Looking at the disk with a hex editor, it seems UrBackup only restored the first 512 bytes of the bootloader, but on my disk the boot code extends beyond the first 512 bytes, and the first partition doesn’t start until offset 2047.
Fortunately I had a copy of the original bootloader, so I just restored it with dd and rebooted.
One step closer…