Hi, Emanuele.
My name is Ayuka, I'm a native speaker of Japanese.
I'm not a professional Japanese teacher, so if you want an answer only from Japenese teachers, you should skip it.
so, this is a very interesting question, I've never thought about how strange it was!!
Actually, words like 今日 are called
熟字訓(jukujikun): 熟字(jukuji)=two words
訓(kun)=reading
In case of 熟字訓、even though there're two kanji in it, we treat it as one word.
so in terms of 今日, '今日' is one set, it can't be divided into 今 and 日 when we read it.
When Japanese ancient people tried to find a way to read kanji in Japanese style,
they started to pronounce 今日 けふ(kefu). They already started to treat them as one word. But ke-fu was really hard to pronounce, they made it easier to read throughout history. and it was changed into きょう(kyou), so there's no connection between why it is read 'きょう' and the reading of 今(like こん,いま) and 日(like か,にち)
actually, there are a lot of 熟字訓 in words regarding days like 今日. So I show you some of examples for your reference.
・昨日 きのう kinou = yesterday
・明日 あした ashita = tomorrow
・明後日 あさって asatte= the day after tomorrow
・明々後日 しあさって shiasatte= two days after tomorrow
sorry for my poor English, I hope it will help you even just a little bit. Thank you for reading this.