You're right, if you careful enough, you can separate the changes to the CMS code required by your application and release just them. But this is just one of the abusive tactics which GPL protects against. Because how useful would that changes be to others? I believe it would make more sense if others could see how the application code uses the new API or test the app themselves before deciding to include the changes.
It is not possible to release a code that depends on GPL components under LGPL. You have to use GPL as an umbrella license. It's simpler to use GPL from the start in such a case. Unless you do that, you want be able to use code under many licenses compatible with GPL but not with LGPL, so there is more flexibility in what code you can include. And as long as you include such code, there is no longer option for LGPL release of the combined work and the original "flexibility" of LGPL does no longer apply. Anyway, it is not flexibilty we should care about, but the preservation of the software freedom.