Hyper threads are not equal! If you thread a task over two hyper threads that belong to the same core you will see much less of a performance improvement.
Similarly, even if a hyperthread has low utilisation, if it's twin is busy you will see lower performance.
They're all equal in the sense that physically they're all the same. If you load every hardware thread equally, they run at equal speed. In a sense each thread is exactly 1/2 of a core.
It's not like "logical CPU 3" is slower than "logical CPU 7"!
This is like a highway with equal width lanes. Sure, there might be more traffic in some lanes, but the lanes themselves are equal.
The new Intel CPU is like 8 wide lanes that can be used by up to 16 motorcycles or 8 cars (or combinations thereof), alongside 8 medium-width lanes only usable by small cars. It's bizarre for a desktop CPU.
PS: Looking at the die shots, it boggles the mind that they didn't include 16 efficiency cores! They're so tiny that it would have been a negligible area increase, but given the relative performance it seems like it would have been worthwhile. I'm guessing memory bandwidth limits are holding them back somewhere...
Wouldn't hyper-threading be more like a highway in which certain pairs of lanes occasionally merge into a single lane temporarily? If one lane has loads of traffic, you're going to want to enter the highway on a non-adjacent lane.
In this new model, some cores are hyperthreaded, and some aren't. Some cores are "full spec", some aren't.