Sizing disks and pools for Windows VM

I’m making some changes to one of my Scale 24.10 servers that is running a Windows VM. At the moment the zvol is in my main pool and was originally sized at 500gb. Insides the VM, it sees the C: drive as 250gb with 250gb unallocated. The C drive shows 60gb used and 190 free. I’m thinking of moving it to an nvme drive but I’m a little unclear on how sizing works on this and how big the nvme drive needs to be.

At one level, I could see sizing it as a 250gb drive, with the zvol being 250gb and inside the VM the disk being 250gb. But if the virtual disk is just a file, then as the Windows VM goes about its thing, the file is going to be rewritten and one would want the pool to be under 50% utilization, which suggests the nvme should be 500gb, with the zvol being 250 and the virtual disk being 250. Is that how it works?

X10SDV.