A virtual CPU is not the same as a physical CPU. As you say you have 2 sockets with a Xeon, you probably have 2 quad (or six-core) CPUs. With hyperthreading you will see 16 logical CPU's (if you go to Host > Summary in the vSphere Client). Your VM with 1 vCPU will be scheduled on all the physical CPU cores (or logical CPU's). So you cannot actually tell what VM is using what physical core at a single time, as it is scheduled by ESXi. (to explain it clearly in an easy way).
And it is indeed correct that if you want to use FT, you can only have 1 vCPU in your virtual machine.