Because DelegateClass defines delegate methods on the class itself, those delegate methods come first in the method lookup chain. This prevents included modules from overriding delegate methods:
One possible solution would be to define the delegate methods in a separate module. That way, other modules could come before it in the method lookup chain.
The DelegateClass defines an anonymous class and defines forwarding methods to the class. The reported (so-called) issue is a natural consequence of the above behavior. include add methods defined in a module above the current class, so forwarding methods have higher precedence. If you (re)define a method, it overwrites the forwarding method.
My opinion is that your assumption is wrong, so we don't need to fix. If you think we need to implement your assumption, you need to persuade us with the real world use-case.
I opened this issue and #19079 because the current behavior seemed surprising to me. In particular, I expected the DelegateClass block to behave just like a Class.new block. I feel like that is a reasonable assumption based on the documentation.
But, if my assumption is wrong, then I understand the decision.