I think a found a solution for this and it works consistently in my environment. It also explains why it doesn't work for a lot of people.
Brand new windows VM, with default video.I connect to the console via usual proxmox novnc way and... I can't change the resolution.
I switch the video to SPICE and power off/on the machine. Now the resolution can be changed but mouse is not synced.
Under options, Use tablet for pointer is set to yes. Disable it! Then re-enable it. Mouse is synced and survives reboots, etc.
I suspect this is a bug. Here's what's going on and why it seemed to work for some and not others.
When you create a new Win VM with default display and start it, it by default starts with tablet support (for mouse sync). This is reflected in the options screen. Use tablet is listed as yes. If you inspect the kvm process that proxmox started and the parameters it pased this is confirmed:
/usr/bin/kvm -id .... -device usb-tablet,id=tablet,bus=ehci.0,port=1
If you look at the config file for the VM under /etc/pve/qemu-server/<id>.conf you see no mention of tablet: 1 in that config file. It's omitted but proxmox is launching the VM with it because it is the default option.
NOW! Change the display from Default to SPICE and start the VM. Proxmox DOES NOT start it with the -device usb-tablet,id=tablet,bus=ehci.0,port=1 option!!! Even though it claims that it's on under Options!
When you turn the tablet support off in options, proxmox modifies the config file for the VM and inserts this:
tablet: 0
Then you re-enable tablet support but proxmox does not delete this line, it changes it to:
tablet: 1
And when proxmox sees tablet: 1 in the config, it starts the VM with the tablet support even if the display is set to spice.
Instead of toggling the tablet support of and on in Options you can simply add:
tablet: 1
to the config and start the VM. Problem solved! I did not need any additional drivers for this to work! I usually install the virtio-win-guest-tools.exe from the virtio ISO but even that is not necessary to get SPICE video with mouse sync to work. My trouble was all because Proxmox says tablet support is enabled but then it doesn't actually enable it on VMs with SPICE video if it's not explicitly defined as tablet: 1 in the config.
Hope this helps someone!