It’s not inconsistent. Depending on the browser %C3%BC is a ü. You can see that sometimes if the HTML has encoded umlauts in a title attribute, but if you hover over the link it is displayed with an ü.
Those are exchange-able in that case, some browsers transform them, some leave them as is.
What is happening is probably that some of the attributes are not encoded and the others are. Have a look at safeHTMLAttr for this:
I am not a fan of umlauts in attributes (like ID or links) so I exchange them manually oftencases. You could do that by: