I ended up restarting the toolstack, which caused all of the migrating VMs to be in an error state, as they were halted but the system thought they should be running. I couldn't perform any actions on them.
VM_BAD_POWER_STATE(OpaqueRef:f1f14751-cbc8-4a86-b98f-9e980b2b0d00, Running, Halted)
After restarting the toolstack on all the hosts in the pool, they finally showed up as powered off and I was able to get them back up and could migrate them.
Is there anywhere I can look to see why the migration got right to the doorstep and stopped?