But, what happens if the synth was registered with jack before the sequencer?
Presumably it is now going to get it's MIDI data *after* it has already
processed that callback.
JACK clients are executed in the order required by their interconnections. If client A *sends* data to client B, then client A will always execute before client B.
if you're silly enough to create a feedback loop, then the order becomes undefined.