Python сам по себе не проверяет типы, поэтому он не выдаст никакой ошибки о неправильных типах.
Будущее annotations
просто неявно меняет все аннотации на строки, т.е. это эквивалентно:
from __future__ import annotations
def foo(bar: Baz): pass
def foo(bar: 'Baz'): pass
Поскольку ваша аннотация теперь является строкой, и Python ничего с ней не делает, в любом случае нет абсолютно никакого разрешения для этого имени, поэтому оно не вызывает никаких ошибок.