They should have idioms in the idioms section. There's a reason there's an idiom section in my opinion and I wish they'd put them all there. Or make an Idioms 1 / Idioms 2 for more advanced if desired.
It's difficult trying to remember what a sentence means, and you think you understand the word for word translation but said translation doesn't make any sense because (surprise!) it's an idiom and turns out you did have the individual words correct at least but still got the whole sentence wrong.
Use "die Redewendung" if you want to say "der idiomatische Ausdruck". It is much more common here. I've never ever seen "idiomatisch" used in German. Only when I first looked for a translation for "idiomatic" it just popped up and I was just like "Ugh, could you please give me a translation which is German enough for me to understand?"
This isn't a Duolingo thing, it's a language thing. Sentences need to be translated for meaning. This sentence doesn't mean that Christmas has been magically personified and is standing in front of a door, it means that Christmas is nearly here. Thus, "Christmas is around the corner" is an accurate translation, even though there's no mention of a corner in the original sentence.
...and if you need further examples, think about what happens if you translate "I am hot" literally into german.
I think "Christmas is at our door" seems acceptable. You can see examples in English of sentences like "With February at our door".
The expression "Weihnachten" is already known in the 12th century in former German areas. In the Middle High German it was called "wīhenaht" and "wîhen nahten". The singular is "Wîhenaht" and the plural is "Wîhennahten".
"Wîhen" is an Old High German and Germanic verb, which today is known as "weihen" (-> "die Weihe"). It goes back to the Germanic word "weiha" or "wiha". Something that is consecrated is honoured and receives a holy (divine) purpose in Christianity. (The expression "wîhen" has been used since the 8th century in the German-speaking world.)
The word "Naht" is a Middle and Old High German word that simply means "night".
"Weihnachten" simply means "consecrated night" or "holy night". The ending "-en" came to the word through the dative. It was said that "ze den wîhen nahten" meant "an den geweihten Nächten" (=on the consecrated nights).
I disagree that "Christmas is at the door" is a good translation. It is a literal translation, but the aim of translation is to go from a natural-sounding sentence in the source to a natural-sounding sentence in the target language.
In the round, over-literal translations tend to make it seem as if the original writer was inordinately bad at expressing him or herself well.
But that's a tangent. Regarding the thread subject, I favour "Christmas is nearly/almost here" and "Christmas is upon us" as the nearest equivalents to the German expression.