Do I need a core license for each thread or virtual core?

Yes, you need a core for each thread or virtual core if you license SQL Server by the VOSE. Generally, you need a core license for each logical core in your SQL VM. You don’t need to license a thread if you license SQL Server by the physical cores on a server.