You can assign 2 vCPUs per VM, but they aren't statically bound in any way. The vCPU will be scheduled on the different cores, unless you get into things like CPU affinity.
You can use 2 sockets with 1 core or 2 cores with 1 socket - it still gets scheduled the same way.