I agree, except I would go even further. "Roast duck" is far more correct than "roasted duck". In English, one would never refer to it as "roasted duck". It is called "roast duck". On a menu, you would no more see the words "roasted duck" than you would see "roasted beef" or "roasted pork". That just isn't what it's called.
In "roast duck", roast is the adjective, duck the noun. You're describing the kind of duck it is. "Duck roast" is the opposite - roast is your noun, and duck is the adjective - you're describing the kind of roast it is. In "anatra arrosto", arrosto is an adjective, and anatra is a noun. Hence, roast duck but not duck roast. :)
I've never heard it called 'duck roast', only 'roast duck'. One doesn't say 'chicken roast' either; it's always 'roast chicken'. On the other hand, I have heard 'pork roast', as in "We're having a pork roast for dinner." However, "We're having roast pork" is also correct. For people for whom English is not their first langauge, it is confusing. I think if you always put the word 'roast' before the name of the meat, you'll be safe. Any exceptions anyone can think of? :)