I was having the same issue. I’ve fixed this by opening the following file in a text editor and saving over itself, giving it a newer last modified timestamp:
UE_4.22\Engine\Binaries\Win64\UnrealHeaderTool.target
Build again, UHT may run once, then following that the issue should be gone - UHT will only run if it actually needs to.
Hope this helps.