Example failing script:
Explanation of what I think is going on:
This commit changed what used to be a dispatch to the owner's metaclass into a dispatch using sender == closure class. For some reason, the metaclass looks up (closure class, "setProperty") in its MetaMethodIndex, which naturally doesn't find anything.
The second attempt using ((GroovyObject)receiver).invokeMethod() doesn't work because BuilderSupport overrides invokeMethod and doesn't delegate back to dynamic lookup. Thus, code fails at runtime.