Can individual CPU cores or threads clock faster than the others due to Silicon Lottery? Is it then reasonable that the rest of the cores are held back by the slower one as they need to match it's speed to stay stable?
Typically a consumer CPU has all of its cores on a single die. This means that the variation between each core on that die is going to be minimal...
The AMD Threadripper series is a notable desktop processor that has multiple pieces of silicon in a single package - in this case the variation between each die could result in differences between cores... but you'll still find that each die has a number of cores on it (8 cores per die in the photo below). I would also expect some stringent "binning" to ensure that an overclock would remain stable across the package / product.
Can individual CPU cores or threads clock faster than the others due to Silicon Lottery?
No, not really... Sometimes one (or a few) cores are permitted to clock faster than others on the package by design - i.e: there may be sufficient headroom in the cooling and power available to dynamically clock some cores to a higher speed, but if you tried to do this with all cores then the thermals or power supply would not be able to keep up with the demands.
The effects described above are different to the "Silicon Lottery" which refers more to gambling on the specifics of the die you get. For example, when purchasing an i7-8700 (i.e: no
K) you are guaranteed to get a processor that can perform at this level. When purchasing an i7-8700K you are getting an "Unlocked" processor that can perform at the same level as an i7-8700, but there is no guarantee as to how far beyond this point it can perform, or what thermal or power demands it'll put on the system when you push it further.
As you push the clock speed up one i7-8700K might require more power (and / or cooling) than another to remain stable. Equally it's entirely feasable that one i7-8700K will be stable at a much higher clock than another.
Is it then reasonable that the rest of the cores are held back by the slower one as they need to match it's speed to stay stable?
With modern processors, the cores are able to behave very independently, so no... it's not likely that one core would be "held back" by another - unless the task being executed is not properly optimised for multi-threaded environments.
Conversely using the example above, a physical i7-8700 might be able to perform above and beyond it's rating, but with a locked multiplier you are unable to make use of this potential.