Mine has done about the same thing. I can't get past about 6900 RPM and I used to hit the limiter somewhere around 7500 or so. I have some small mods that I thought might have caused it and some extra weight but nothing I have done to change it back to factory has made any real difference. The one thing I did that made some difference is I found air filter oil all over the air temp sensor that's located top of the crossover tube and cleaned it with mass Air sensor cleaner. That raised my top end RPMs about 400. Maybe that oil has damaged it and it needs replaced. I might try that. A buddy of mine..Jogon30..says his did it too and it's his opinion that CFMoto engines just get slower as they age. I hope that's not true...like loss of compression...ect. But mine is running like a watch so..it's a mystery at the moment. I do know that some of the things I have done have made it run leaner..but these things didn't stop it from hitting the RPM limiter before.
I can only suggest making sure the airfilter is clean, that the valves are set correctly, that the fuel pressure and volume is correct..hay..a plugged fuel filter can cause starving...and it will first be noticeable at high RPMs! OK, that's cheap so lets replace it. Its behind the airbox. And come to think of it, it is taking longer these days for the fuel pump to pressure up and shut off. Hmmm..there is also a sock or screen over the intake inside the tank that could also be blocked. Just spin the ring off the assembly and lift it out to check.