Rather than converting the cold vm disk, couldn't you boot up the vm, dump the disks to stream, and send the streams into another format?
Probably better to get the vm into a ramfs or any other way to not be currently on it. Otherwise it'll likely be pretty corrupted
Yes, this is Microsoft's "agent-based migration" option mentioned in the article.