For a 2 socket CPU Hyper-V 2012R2 Std server 2 node cluster server 1 2012R2 Std server license is needed for each host. This 1 license covers 2 VM guest licenses. If this 2 node cluster runs 8 2012R2 Std VM guests an additional 3 licenses are needed for each host, totally 8. Each host needs to be licensed for the 8 guests, guest licenses can't be transfered to an other node. So for a 3 node server that would be totally 12 2012R2 Std server licenses needed, right?
How is that for a Hyper-V Enterprise server 2008 2 node cluster? For a 2008 Enterprise server 4 VM's guests licenses are covered. If running an additional of 4 2008R2 Std servers, on this server 2008 Ent hosts, can for server 2008 these licenses be transfered from one host to the other, or does also each host need to be licensed for the 8 guests? Totally 8 extra 2008R2 guest licenses for a 2 node and 12 2008R2 licenses for a 3 node cluster?
Does a 2012R2 Std server license also cover 2 2012R2 VM guest licenses on a 2008 Hyper-V server?
Now with that said, you need to understand that there is a distinction between a license and an operating system environment (OSE.) Windows licenses are always "assigned" to a machine. OSEs are the actively running operating systems, either on bare metal or in a VM. There is no such thing as a "guest" license
So for your first question, you are correct. To run 8 VMs on a single node, that node would need 4 licenses. If you wanted three nodes with 8 VMs each, you'd need 12 licenses. And you wouldn't be able to readily move around VMs because the moment you moved a VM to another node, it'd have 9 VMs, which exceeds the 8 allowed by the three licenses assigned to that physical machine.
The rules in 2008 R2 are the same. Only the number of VMs allowed changes. So each physical machine must have its own licenses assigned, and you must have the number of licenses required to cover the number of VMs on that host. So 8 VMs on a node would require 2 enterprise licenses (4 VMs per license for a total of 8) and for 3 nodes, 8 VMs each, that'd be 6 total licenses, 2 per node. And again, you wouldn't be able to readily move around VMs because you've maxed out your VM count allowed per license.
As for your final question, yes. Since licenses are assigned to a machine, it'd cover 2 2012 R2 VMs, regardless of the hypervisor used. They could be running on an older version of Hyper-v (although for technical compatibility reasons, I'd never recommend it), or virtualbox, or VMWare ESX, or other. The license simply permits two virtual OSEs on that physical machine.
This is where buying Datacenter with its unlimited VMs makes more sense. You can shuffle VMs without worrying about your VM count.