I believe this is a limitation of the DAW and not something that JUCE (or any other plug-in frameword) can solve.
I'm not sure if this is related but I've seen many Plug-In vendors ship multiple versions of their plug-ins (as in "several dll/comonent files") for different channel configurations often having different suffixes in their file name (for example "My Filter (Mono).vst" and "My Filter (Stereo).vst") etc. I'm not sure about the DAWs you mention but I know that this sort of setup is needed for FXpansion's VST to RTAS adapter.
>I believe this is a limitation of the DAW and not something that JUCE (or any other plug-in framework) can solve
Yes from the plugin-side, but this is something somebody who is developing a host should consider!
Its complicated enough to be plugin-developer 32/64/mac/win/vst/au/aax etc........ == 12 different Builds
If i make separate versions for all possible channels-configurations, they need to have different Plugin-IDs too, which makes presets incompatible.
Now i use a internal number of active-channels in my plugins which can be adjusted manually in the GUI. Unused channel just returning silence.
Thats why i try to collect information how every host is doing it.
For example
If the plugins is opened in Tracktion it use 2 channels, if its opened in Cubase it uses jmin(getNumberOfInputChannels(), getNumberofOutputChannels) etc...