If you just want to filter out clock I think there's a midi thru object which thru's everything except clock... Not at my laptop so can't check.
Your patch looks ok, to avoid the channel problem you could put all the objects in a subpatch, then duplicate the subpatch for each channel. You can select the channel for the incoming messages for the subpatch, and set the channel on the out objects according to which subpatch it is.
In the subpatch settings there is an option to have a midi selector for it.
Something else to be aware of is that I think the way you've patched the keyboard would only work monophonically, so you'd need to put those in a polyphonic subpatch. And maybe use the gate2 outlet on the keyboard object to trigger the output. I had issues outputting to external synths using the gate output, something to do with legato notes not triggering, if I remember correctly. Gate2 solved it.