This is quite interesting, but something not mentioned is performance of a virtual hard disk.
I’m familiar with virtual disks from using virtual machines like VirtualBox, QEMU, etc. But what I found was that if I made a separate macOS or Windows partition, and booted off that, my virtual machines were blindly fast. This was because it was using a natively formatted partition versus a 5 GB or whatever file the virtual disk would have been.
So, yes there is flexibility probably and the other advantages with using a virtual hard drive, but it may be at the cost of performance.
Partitioning can also be easier to back up, depending on how you do your backups. And you’d want to think about how you create the single 5 GB or 20 GB virtual hard drive because if that is physically all over your hard drive (fragmented), again it may not perform best.
See https://www.xda-developers.com/reasons-use-virtual-hard-disks-instead-partitioning-storage