But your counts are all using base 10! If we were to count the number of digits in binary using binary, we would get 10 digits. If we were to count the number of digits in hexadecimal in hexadecimal, we would still get 10 digits. This is true for all bases.
The base b is actually the multiplier for the value in each digit: the first digit is b^0, the next to the left is b^1, the next left is b^2. Similar for right of the dot: b^-1, b^-2....
Base 10 comprises ten digits, viz. count(0, 1, 2, 3, … 9) = 10z
Base 2 is count(0, 1) = 2
Base 16 (hexadecimal) is count(0, 1, 2, 3, … 9, a, b, … f) = 16