I think this might be an issue with some version mismatch between libvirt and qemu? Kinda taking a shot in the dark here, as libvirt shouldn’t be passing a “clusters” parameter to the CPU topology, based on your configuration.
This, however:
2024-06-23T07:37:43.652043Z qemu-system-x86_64: Hyper-V synthetic interrupt controller (hv-synic) requires Hyper-V VP_INDEX MSR (hv-vpindex)
Is your issue.
You need to add <vpindex state="on"/>
to the hyperv configuration block. (ref)
If you read the error; it states “Hyper-V synthetic interrupt controller (hv-synic) requires Hyper-V VP_INDEX MSR (hv-vpindex)” vpindex was missing from your configuration, so qemu did not load that MSR feature.