We do add the Closure version for objects created by the Gradle Instantiator, e.g. when you call createExtension. That doesn’t work when you call a constructor yourself.
We should probably do it via bytecode manipulation at class loading time instead to make it always work.