Сканирование исходного кода показывает, что в функции ordinal_encoding
перечисляются номера категорий (всего 3 категории, начиная с 1), и эти цифры также используются для кодирования
categories_dict = {x: i + 1 for i, x in enumerate(categories)}
X[str(col) + '_tmp'] = X[col].map(lambda x: categories_dict.get(x))
впоследствии пропущенные значения вменяются в 0.
Подводя итог: np.nan имеет категорию 2, которая преобразуется в 0 на этапе постобработки