Según lo que encontré en la pagina de mypy aquà hay algo de información de los protocolos: https://mypy.readthedocs.io/en/stable/protocols.html
Y sobre Typing_extension encontre esto:
El módulo Typing se agregó a la biblioteca estándar en Python 3.5, pero desde entonces se han agregado muchas caracterÃsticas nuevas al módulo. Esto significa que los usuarios de versiones anteriores de Python que no puedan actualizar no podrán aprovechar los nuevos tipos agregados al módulo de escritura, como Typing.Protocolo o Typing.TypedDict.
El módulo typing_extensions contiene backports de estos cambios. Los tipos experimentales que eventualmente se pueden agregar al módulo Typing también se incluyen en typing_extensions.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?