Idiomatic Java was the FactoryProxySingleton EE-wank fest from Apache, SUN, Spring and co.
It was by changing those idioms around (e.g. how the Play framework wrote Java), that saner alternatives emerged.
The de-facto idiom of PHP before 2010 was messy code.
It started getting more coherent after that, but the preffered idiom now (e.g. for Zend, Synmphony, Laravel) is still a tedious, verbose, copy of the Java circa 2006 style (large class hierarchies, singletons, "Facades", DI, etc).
Idiomatic JS pre-Cockford was ad-hoc BS. After Cockford it got a lot better, but then it changed again (can't say for the worse) with all sort of functional tricks and patterns that weren't in vogue before.
In all of those cases, if they have stuck to the same "idiomatic" way from the start, it would have been worse.
Within a single project, sure, enforce some idiomatic way of doing things.
But within a whole language people should be able to experiment and not be called upon for being "unidiomatic" all the time. This is exceptially disturbing and often in Go, where there's some cargo cult in many advocates that they have found the be-all end-all way to code.
It seems to me this push for "idiomatic" is also related to the Blub paradox. Blub programmers know a couple of ways of doing things (the "idioms" of their language) and cannot understand why someone might want to program with higher (or just different but convenient) concepts he learned in another language.