I also suffered from your experience. If you use a linux-platform as desktop-OS: I was much happier installing Virtual Machine Manager, Cockpit does by far not cover what it should do.
I installed on the server client:
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager qemu-utils virtinst libvirt-daemon
on the server and on the client:
sudo apt install ncat -> client and server installing!!
In virtual machine manager you can then choose via GUI for RDP the protocol 'spice'. Please note that you need to choose in the Virtual Machine Manager in "Display Spice" the dropdown 'all interfaces', otherwise you run again into the Cockpit-issue. If you specify also a TLS-port you have a fixed address for your external viewer; in my case Remmina.
Additionally, for Windows there is a helper file from Fedora, which you install when Windows is running:
Choose the latest directory, and run the ISO inside Windows, it will install a lot of useful things.
If you need/want I can provide you my config-file; in which is in xml cleartext everything visible, and can also easily be imported by virsh define ConfigFileVirtualMachine.xml
For _CREATING_ a Qemu-Disk in the terminal, skipping the hellish Cockpit:
qemu-img create -f qcow2 /srv/dev-disk-by-label-8TBMai2020/VirtualMachines/Win10/Win10.qcow2 500G
creates a machine in the path /srv/.. , the file is called Win10.qcow2, maximal size 500G (it is dynamically growing, with all its advantages and disadvantages)
For _INSTALLING_ the Operating System I used:
virt-install --name=Win10 --vcpus=1 --ram=8000 --init=/srv/ --os-variant=win10 --cdrom=/srv/dev-disk-by-label-6TBDisk1/Software/Microsoft/Windows_10_Install-ISO/Win10-Install.iso --disk=/srv/dev-disk-by-label-8TBMai2020/VirtualMachines/Win10/Win10.qcow2,format=qcow2,500G
Obviously, most of the things are self-explanatory. Can all be changed later in the Virtual Machine Manager.
I personally cancel with Ctrl+c then the installation in the terminal, modify then afterwards in particular the network-interface manually in the network bridge, entering manually the name br0, setting VIRTIO to the HDDs and run the machine again.
Hope that helps a bit.