software assurance does NOT give you license mobility on windows server. It only does for SQL Server
Every Host, need to have atleast 16 cores licensed
every core needs to be licensed and every cpu needs to have atleast an 8 cores license
One 16 Core standard license, allows you to run two operating systems (which need to both be on the same hardware at all times)
Every host this COULD be running on, needs to be licensed
so, 4 virtual machines
4 hosts
you need 2x16 core licenses and that x4 for a total of 128
not sure about the windows 10 licensing, only just starting on that subject myself. Is quite dependent on the rest of your setup.
Also, don‘t forget about the Windows Server CALs
all i can suggest, stop looking in all the dark plaxes on the internet
only read microsoft‘s own documentation, recently released so nothing from before 2016