isdigit

Этот метод охватывает уже меньше вариантов, чем isnumeric():

unicode_numerics = ['⅕', '零', '²', '𐩀']
for num in unicode_numerics:
    print(num.isdigit())

Снова обращаемся к документации: возвращает True, если все символы в строке являются «цифрами» и при этом в ней есть как минимум 1 символ. В противном случае возвращает False. «Цифры» включают в себя десятичные символы, а также «специальные цифры», которые требуют особой обработки, например, ² или 𐩀.

Пробуем привести эти символы к int:

То есть isdigit() тоже не стоит использовать для того, чтобы проверить, хранится ли в строке привычное десятичное число.