Most likely answer is reflection. UHT in particular needs those prefixes to parse things correctly, and no doubt there’s other engine machinery that requires this too. I’m sure it could be done an alternative way, but why change what isn’t broken.
There’s probably also an argument for not having two different coding standards live at the same time.