Да, я погорячился. Почему то был уверен, что если шифрование end-to-end, https://core.telegram.org/api/end-to-end, то стороны договариваются о ключах и значит обе стороны онлайн.
Следовательно, после того как о ключах договорились, промежуточный сервер не нужен и передать зашифрованное сообщение можно напрямую.
Теперь понимаю, это я был не прав.
Во-первых, передавать напрямую может и не получиться (кто-то может быть за NAT), а во вторых - это и дыра в приватности - разглашение IP адреса собеседника.
То, что сообщения проходят через сервер, явно указано в документации:
Encrypted data is embedded into a messages.sendEncrypted API call and passed to Telegram server for delivery to the other party of the Secret Chat.
Ева не в курсе. The Diffie-Hellman protocol is used for key generation. Создать общий секретный ключ, используя незащищенный канал - задача давно решенная.