You should try with different Nvidia driver versions (for me 510 worked but 525 didn't). For me, the Nvidia website .run file installer worked perfectly.
I can't help you unfreeze your desktop, but you may want to keep an eye on whether the CPUs work at 100%. If that's the case, I would rather reinstall the driver and purge all Nvidia (you have to do it correctly depending on how you installed it (proprietary run file (my case), Ubuntu software&updates or apt), I would rather avoid gpg keys + .deb install since it didn't work even once for me because something-something deprecated, when purging Nvidia you may want to sudo apt autoremove Nvidia instead of remove... It might also help to fix software&updates if it gets struk with "using proprietary driver", also if something refuses to work no matter what you might want to check it is not blacklisted, never erase folders (I did, and it didn't end well) there's always an official way to uninstall it (unless you download random stuff from GitHub (this is unrelated, but, trust me, you may want to check there's a proper uninstall method when using a GitHub project, and you certainly want to keep it away from touching your packages without using apt)).
You may want to enable the different configuration for each xdisplay in the driver settings (once you get it working) it does the trick sometimes (I broke my system tinkering and I had to redo this a few times).
You might want to ensure that the password menu loads on your main screen (because if it doesn't you might not be able to enter the desktop other than recovery mode root when you're away from the hdmi)
This I solved by deleting the /etc/X11/xorg.conf file. Yet you may want to try a better alternative since for me this made X11 think I had one screen, and even though both worked fine, there was a noticeable traffic through the CPU (non threaded) thus a very strong bottleneck for the system. This can be fixed by using Wayland
My system is and CPU with integrated graphics and Nvidia, thus my iGPU/GPU switching might work different from yours.
You can also try making Nvidia generate the xorg.conf file. And it might interest you to tinker with /etc/default/grub ... sudo dmesg might provide you more hints to browse the web or an "expert for them to help you.