I have observed one strange behaviour in grails 2.5.4 as well as grails 3.3.2/3/4 .
The issue I feel and face is they allow one class to call private method of another class and it's going on till the latest version of grails.
However only difference I found is that in grails 2.5.4, it was able to detect all the dependency injected into the called class while in grails 3.3.x dependency is not injected which is correct but overall private method should not be called outside the class as per java