I
believe the problem is that awk is doing the comparison as a string and not a numeric operator. And in strings
"10" is less than "9". It works if you remove the % sign from the input, because awk treats "stand-alone" numbers numerically.
I'm not sure what the best way to work around it would be.