Stream это просто удобный абстрактный класс для работы с потоками данных.
Класс TcpClient на его базе реализует свой класс, который можно получить так
stream = tcpClient.GetStream();
И теперь все байты, что пишутся в данный stream, через переопределенные методы Write, WriteAsync, WriteByte, BeginWrite отсылаются по установленному сетевому соединению.
PS: Любой файл это изначально набор байт, так что преобразований, как у вас в примере, не требуется.