You’re right to be guarded about the temptation to jump to conclusions - Latin diēs is related to dydd but not to ‘day’, and English ‘have’ is linked to Latin capiō and Welsh cael/caffael rather than habeō.
But in this case you’re spot on: the Germanic and Celtic words are related, and there are plenty of cognates in other languages, too, including Latin and Greek – it’s just that it’s not the usual Latin word for a door. (Sometimes the meaning shifts a bit sideways, like ‘farrow’ being the native English equivalent of ‘pork’.) Looking it up gives an IE root of something like dhwōr-, with links to Irish dorus, as you say, and Latin foris (door or gate; linked to forum ‘a space enclosed by a gate; a courtyard’; and also apparently forās ‘outdoors’, Italian fuori, Spanish fuera, Catalan fora, French dehors and the ‘foramen’ in a baby’s skull etc.); also Greek θυρα (Modern παράθυρο is a ‘window’ – a ‘para-door’); Sanskrit dvāras; Tocharian, Armenian, you name it – including even Hittite andurza ‘indoors’
The thing with comparing Welsh with Latin and English – if we’re talking about inherited words rather than borrowings from Latin – is that the Germanic languages went through their own set of weird sound-changes (the ‘First Sound Shift’) which mean that Welsh more often agrees with Latin than it does with English. In the currently standard reconstruction of Indo-European you had voiceless stops (p/t/k), which basically shift to f/th/h in English (like aspirate mutation), while Celtic lost p but kept the others – e.g. tri = ‘three’; and voiced stops b/d/g which become English p/t/k (like undoing a soft mutation) – e.g. dau = ‘two’. But the third series – conventionally bh, dh, gh or just bh etc. – basically become just b/d/g in both English and Welsh, while they do slightly weirder things in Latin and Greek etc. – hence the agreement between English and Welsh on things like brawd = ‘brother’, drws = ‘door’, gadael = ‘go’ versus frater, foris and so on.