Awk comparisons are as I recall either numeric or string comparisons, depending on the type of the left operand, and that would explain what you're seeing: `substr` gives a string result, and strings beginning 'U', '9', and '8' are all greater than any string beginning '7'.
Subtraction produces a numeric result.