Why doesn't Kosovo have its own ccTLD yet?

Solution 1:

ICANN explains this pretty well in their blog (https://www.icann.org/news/blog/abkhazia-kosovo-south-ossetia-transnistria-my-oh-my):

As at this time, Abkhazia, Kosovo, Transnistria, Somaliland, South Ossetia and others are not in the ISO 3166-1 standard, so ICANN is not in a position to grant any corresponding country-code domain for them. By strictly adhering to the ISO 3166-1 standard, we ensure that ICANN remains neutral by relying upon a widely recognised and impartial international standard.

Solution 2:

Because Kosovo is not (fully) legally recognized. As a result it doesn't have a UN seat either.

Quite a political question for SF :)