How were these numbers reached? Can you show us any python code or commands that you used to find them?
I notice that your synchronous version of the telnet code immediately closes the socket whereas the twisted version is waiting for the *server* to end the connection; this could definitely be affecting your times. If you add a transport.loseConnection call after your write call, the semantics should line up better, and I imagine performance will be closer to what we expect.
Also, why are you calling the private "_write" method in the telnet example?