This is special case for NVIDIA vGPU SW. NVIDIA software presents vGPU "console" as framebuffer to shared memory in host (not in guest! there is no VNC software in guest!). This framebuffer is encoded by qemu with VNC protocol (not any other VNC software).
So your note is irrelevant.
This is pure problem of NVIDIA vGPU internal capture with interfacing to M$ Windows composer and it never have been resolved. You should study images and captured video more carefully - the problem is with some 3d/postprocessing layer in NVIDIA rendering stack. It is not possible do this garbage with VNC or other remoting protocol (I use h264 streaming with the same garbage).
Grid 4.x (last for K1/K2) is now EOL/unsupported. So this is bug forever.
This problem still persists in newer drivers (vGPU SW > 4.x) but with different behavior (see https://gridforums.nvidia.com/default/topic/8762/#12670 ). This bug has impact to encoder (garbage is very hard to compress) and connection bandwidth. Due to this problems NVIDIA completely abandoned NVFBC (“console” framebuffer capture in guest) and forces to use M$ Windows DDUPL API that is unusable too (see https://forums.developer.nvidia.com/t/how-can-ddupl-replace-nvfbc/126249 ). So goodbye reasonable UX for VDI !
NVIDIA is incompetent to repair this bug. Quality of NVIDIA software is very low.