Am I the only person feeling disappointed for all the gathering relatives?
It's a holiday, and getting together with family is important. But only 3 hours' worth? Even if it turns out you're in the middle of having fun?
If the other tradition you want to start is so important, I vote for not hosting at all. Then someone else can host who will understand what the family wants (time with family), and you can leave early.
By the same token, there are lots of people (such as myself) who want very much to see family, but get overloaded after a (relatively) short time----and would welcome the idea that there's a limit to the party. You can't please everyone, so, OP, host it your way and them that don't like it can get together on their own afterward to carry on.
But please, don't waffle around with "12:30 or so" or any other qualifiers----if you firmly say "9:30-12:30" in teh invitations, you can be as flexible as you like at the actual party---but there's no need to be imprecise on the invitations.
But you can leave early!
If the family clearly wants a longer celebration, and you want a shorter one, then maybe you are not the proper host.
If you feel it's fair to do this--declare yourself the "official family host of the official family holiday gathering" of sorts, and still have time limit, then I bow to your clearer knowledge of your family.
In that case, simply tell people personally that you will have to leave at 12:30, so that's when breakfast ends, and that you're sorry to have to call an end, but you have something else you're obligated to be at.
And then start cleaning up, and also then say, "well, it's 12:15, and we have to leave for our other event--we'll see you all later. Does everybody have everything they brought?" And even, to the people who don't leave, "I'll have to send you home now, because we need to leave."