The problem sounds more like something to do with a variating air:fuel mixture. When mixture ratio is good, there's lots of power. But if something alters that mix ratio, power drops off.
If fuel flow into the engine is variable, and it is flooding or running out of fuel at top speed, the engine can surge like that. Another possibility is variable air flow due to an air leak of some kind. Both air and fuel flow must be steady.
But air / vacuum leaks will be noticed at all speeds. So if i had to guess at it, the problem would be inadequate fuel flow at top speed.
As fuel flow slows, the mixture gets lean.. A lean mix is hot and powerful and there's a burst of power while it runs out of gas.. then the engine slows until more fuel is available.
Try an experiment ..
There is something near 25ccs of fuel in the float bowl (a bit less than one fluid ounce).
At top speed and after a sudden burst of speed, reach down and turn off the petcock. Then kill-switch the engine and coast to a stop.
Then disconnect the fuel inlet hose from the carburetor.
Next drain the float bowl and measure how much fuel was in the bowl when you killed the ignition.. (Drain screw access is through the pedal sprocket.)
If there was very little fuel in the bowl when you killed the engine, the bowl is not refilling fast enough to meet the demands of the engine.