000aaa
and
000bbb
In the first case all hashes that start with three zeroes are valid (000aaa inclusive if hash collision is ever to be found). That means that all hashes from the range 000[000] - 000[fff] are valid for us.
In the second case all hashes that are less than bbb are valid, but those that are higher than bbb are not.
Which means only hashes from the range 000[000] - 000[bba] are valid.
Are you telling me that despite the huge distinction in the number of valid hashes that would satisfy our condition, the chances of finding each of those are the same?
If you look at the binary representation, in your first case, the smallest allowed number is 0b00000000 00000000 00000000 / 0x0 / 010 and the highest is 0b00000000 00001111 11111111 / 0x000fff / 409510.
In the second case, the smallest allowed number is again 0b00000000 00000000 00000000 / 0x0 / 010 and the highest is 0b00000000 00001011 10111010 / 0x000bba / 300210.
So in short, in one case you have 4095 possible valid hashes and in the other you have only 3002 valid hashes, so it's a harder difficulty target. The number of leading zeroes in hex and binary notation is actually the same in both cases, but the actual number of valid hashes in case 2 is significantly smaller. That's why I think we need to just stick to what Bitcoin actually does (comparing numbers) instead of counting leading characters.