I think that dateTime() and dateTimeUTC() are programmed to create final static variables and are therefore not meant to "calculate" dates. I used a workaround for the same problem by first initiating a date using dateTime() and next adding years using addYears(). I agree this is not as nice as desired, so you might want to file a ticket anyway.
I'm running into the same problem. I would be interested in a solution or a proper workaround to incorporate dynamic variables in DateTime functions.