If a connection fails during a receive read, you'll get a "receive error: Stream is closed" message. This is a legacy/compatibility message, the code explicitly send that exact string regardless of actual cause. In fact, there's this explicit comment in our source code:
// keep "receive error: Stream is closed" EXACTLY as it is - there's tons of code out there expecting it!
If there is an existing connection, and telnet call reopens it, previous connection's closing will result in a "receive error: Stream is closed" message as well. You're correct that it doesn't make a lot of sense on connect. Got to see if changing that logic results in any failures.
If a connection fails during a send operation, you'll get a "send error: <actual_description_here>" message.
For connect failure, there is no feedback in telnetStatus, it just fails during connect call and throws whatever exception occurs right away.