O HT é como uma execução fora de ordem, exceto pelo fato de poder programar um thread completamente diferente, em vez de apenas reordenar as instruções. Às vezes, a CPU fica inativa porque ela já reordenou todas as instruções possíveis e ainda está aguardando dados ou qualquer outra coisa. O HT permite que outro thread esteja pronto para ser executado enquanto o primeiro está esperando.
Ainda existem apenas dois núcleos físicos em seu sistema. Se core0 e core2 estiverem em 100%, então seu processador está em 100%. Se os núcleos lógicos (core0, core1, core2 e core3) estiverem todos em 100%, então sua CPU está, na verdade, sendo executada em aproximadamente 115% do total sem hyper-threading.
O motivo pelo qual você vê o uso de núcleo alternativo é porque core0 e core1 compartilham o mesmo núcleo físico, e core2 e core3 compartilham o mesmo núcleo físico. Se o sistema operacional agendasse core0 e core1 em vez de core0 e core2, metade do processador ficaria ocioso na maior parte do tempo.