Hello Christof,
Swapping the disks between the two VMs shows the problem follows whatever runs inside, not the VM itself.
Next I would run xe vm-param-list uuid=<vm-uuid> on the host once with HAOS booted and once with Debian booted, and diff the two outputs.
Fields like os-version, PV-drivers-version and networks are reported back by the running OS, so they change with the guest.
My guess, and it's only a guess, is that one of them comes back in a shape Commvault's parser doesn't expect: "input string has the wrong format" is what .NET says when it fails to read a number.
If you find the field that differs, Commvault support would have something concrete to work with.