This is totally up to you. But as you noticed, there are disadvantages:
You have to identify the keypath as the first step in the callback processing; this is not terribly difficult, but it might add some complexity.
You lose any flexibility in what callbacks you implement. If you decide you need a callback get_next_object for a node A, this callback needs to be able to handle all nodes annotated with your callpoint, not just A.
You may want to consider an alternative: keep multiple callpoints, but register them in one daemon. This way you can still reuse one callback implementation for multiple nodes, but if you need the flexibility in 2., it is still available.