Ja, es macht was du willst. Windows weiß, welcher logische Prozessor in welchem Kern ist. Es verwendet nur einen "logischen Prozessor" pro Kern, bis Sie mehr Threads haben, die gleichzeitig ausgeführt werden sollen, als Sie über Cores verfügen.
("Logischer Prozessor" ist ein Name, den Windows intern für "etwas verwendet, das einen Thread ausführen kann". Wenn HT nicht aktiviert ist, gibt es einen LP pro Kern. Wenn HT aktiviert ist, gibt es zwei LPs pro Kern. Dies ermöglicht es uns, immer nur über "logische Prozessoren" zu sprechen, anstatt ständig Dinge qualifizieren zu müssen.)
Der genaue Algorithmus für die Auswahl "Wo soll ein Thread laufen" wird in Windows Internals von Solomon, Russinovich und Ionescu beschrieben. Es ist eine ausführliche Beschreibung, die viele "Randfälle" umfasst, wie z. B. geparkte Kerne, NUMA-Maschinen (mit zwei oder mehr physischen CPU-Paketen mit jeweils einer eigenen RAM-Bank) usw.
Aber ja: Windows versucht, eine LP in jedem Core-Leerlauf aufzubewahren, bis mehr Threads vorhanden sind als Cores.