Not all vSphere-based VMs are the same! This is especially true with the introduction of vSphere IaaS (formally known as vSphere Supervisor or vSphere with Tanzu or Project Pacific) which includes a modern way of provisioning a traditional/classic VM but also a new VM-based form factor known as vSphere Pod VMs.
There was a recent question internally about how you could you distinguish between traditional/classic VMs built from vSphere UI or API versus the vSphere Pod VMs using PowerCLI and specifically using the default Get-VM cmdlet?