An alternative to Tim's solution would be using formatDateTime functions:
parseDateTime(formatDateTime($YourDate, 'dd-MM') + '-' + formatDateTime([%CurrentDateTime%], 'yyyy'), 'dd-MM-yyyy')
Note that I wrote these without opening the modeler so there may be some syntax errors, but the idea should remain the same. Also, if you want to let the time remain the same as well you'll have to add that to your expression.
Proof of it working:
addYears($YourDate, calendarYearsBetween($YourDate, [%CurrentDateTime%]))
**Editted to match your problem:
addYears($YourDate, calendarYearsBetween($YourDate, [%BeginOfCurrentYear%]))