Giving actual examples of boards where you see that might help - and a simple test app and capture from an o’scope if you have one (I don’t)
Remember, some of the micros in use have only a single PWM frequency setting for the multiple PWM outputs, so that’s relatively easy to explain away. The duty cycle change though I would expect to have no similar limitations.
There have been recent threads discussing a PWM change causing a “glitch” to the pulse train when the PWM peripheral doesn’t change settings at the end of a current pulse, perhaps these are all related, when a PWM change is initiated the PWM timer is reset throwing all PWM streams that depend on it out of whack.
(so really I am thinking this is all potentially a hardware limitation so the framework may not be able to address it)