First up – welcome to the board …..
There were two methods of restricting the top speed of the 125 – an attachment to the speedo that feeds back to the CDI – and a simple washer in the exhaust output to restrict flow
Other than that – possibilities include a faulty CDI, or a faulty coil, or a short on the HT at full pelt. But, always go for the simplest thing first (and the most inexpensive), and as such I’d recommend checking your ignition earths (sounds like you’ve had it apart), while chucking something like “Redex” in the fuel, to blow the carb out
If it is restricted by the “washer up the spout” method, if you take the exhaust pipe from the head, you should be able to see it (if it’s there) – it’ll be at the start of the header pipe, in the pipe itself
Other things to check (cheap fixes), include checking the float height, and replacing the main jet (regardless) – both simple precautions that will eliminate those areas
The carbs on these things are so small, it may appear to be clean, but the slightest thing can affect them – having said that – it may be something completely different, so check everything ) without spending money) first …….