Well, I don't think it is puzzling, but probability was my field of study. If I were teaching it to somebody I would explain that there are a lot of different ways for the event "at least 2 people have the same birthday" to occur. But the complimentary event "no two people have the same birthday" is much easier to describe.
If there was an easier way to get the probability I would agree that the constructive approach, rather than the complimentary, might be better, but when you actually look at the constructive approach you'll find that
it is actually
much harder.
I think complimentary approaches are a necessary part of doing probability and it can make computations significantly easier. It is a standard thing to think about. If I need to calculate a probability of an event, I look to see if the compliment of that event is easier to calculate.
I can think of 2 ways to approximate it. The first is the plain old constructive approach, but only try to calculate the most likely parts of the event. For example if
n is small, mostly you should just have some number of pairs of data (not many 3-of-a-kinds). Further, most of the probability of the event will be in the lower number of pairs. So now, this gets rid of much of the nastiness, but as you'll see, its not a bucket of roses either.
Start with the probability for 1 pair. This is actually not necessarily all that easy.
Let's count by saying the first and the second have the same birthday. And the rest are distinct. And then multiply by

to factor in the fact that any 2 of these people could have the same birthday.
Now lets do 2 pairs. This is harder. First count how many days could have the 2 pair.

(order doesn't matter}
Given that, how many ways are there of assigning the 2 pairs to the set of people?

(again, order per birthday doesn't matter)
Given that, how many ways are there of filling out the rest of the birthdays?

(here order matters)
Ok so the probability is:
Let's go for 3 pairs! This last way of breaking it down I think will work in general:
Do you see my point? It may look more straightforward to construct. But I don't think it is.
The only other approach that you could take could give you intuition into the problem, but it is not really the right thing. It would work if medians and means were the same thing. It requires expected values of
dependent random variables and I do have to make use of complimentary events again.
Let

be the number of people born on day
i (1-365). Note that

has a binomial distribution with probability of success 1/365.
Now let

be 1 if

and 0 otherwise. Since

has a binomial distribution, we can calculate
Then you can ask what is the expected value of
Note that the

are very dependent, but that doesn't change the fact that the expectation of the sum is the sum of the expectations.
Then you can plot this as a function of
n and see where it goes above 1. It turns out, if I did everything right, that it goes above 1 at
n=19. This is giving you the flavor of the issue but it is not the same thing as saying for what
n does the probability of having 2 or more people born on the same day go above 50%. You could ask what is

but this is hard because of the dependence of the

's and so we're back to where we started

.