Its a great idea to be taught at a slightly challenging pace, ensuring along the way that all concepts have been thoroughly learned. This seems to be what your school has been doing.
Its a horrible idea to ask a child to go years without ever breaking sweat but still comfortably achieving full marks every time. This is the alternative.
However, its not a good idea to get too far ahead either because the system just isn't built to cope with it (and it tends to push back causing stress for you and your DC).
Both my Dc are very good at maths. DS2 in particular has spent years repeating work that he can calculate faster, and with greater accuracy, than anyone else in the room, including the teacher. Its boring and makes him feel unimportant as its very plain that no one cares.
However, Ds1 has now reached a point where he's so far ahead that there isn't another level available. He's got 1 1/2 years to kill or he do his GCSEs early. However, even though that sounds like something that might be good, I have to think about it against his other subjects. He could do a GCSE in maths next year, before the rest of his year even start the GCSE course. But then what? I wouldn't want him to not open a maths books for two years and then start the A Level course, and I wouldn't want to jeopardise the other GCSEs by simultaneously doing his maths A level.
So, having been almost all the way through the whole system, as much as I hated what my Dc went through at primary school, I think its better to progress at a snail's pace with the rest of the class than face the consequences of racing ahead.