ok, I suspect the confusion is caused by the fact that the patch settings specify the channel BUT its objects themselves that filter messages on channel.
SO... something like midi/in/keyb looks at the midi channel of the patch (true for both subpatches and main)
BUT subpatches also can filter out midi messages before they get to objects, when you have 'midi selector' enabled.
the main patch sees all midi messages for all channels (it has to, to be able to pass to subpatches), but most midi objects with filter by the patch settings. some do not however e.g. mpe and the midi/intern objects.
its all a bit confused, due to the way the voice handling works and the way the filtering has been put on the subpatch object (when midi selector is requested)
the way, I tend to work, is to create a subpatch for any specific channels... which gives a bit of structure to my patch, failing that its, easy to embed one of the midi/in objects and then just change the midi handler to look at a specific channel. (yes they run internally from 0 to 15, as this is the way midi works)