There is a distinction between streams and channels. A stream is only returned if the streamer is live where a channel is always returned. The stream contains an entry for the channel but the channel does not contain an entry for the stream even if it’s live.
I would suggest adding a “stream” parameter to a channels request. If set to “true” it would return a stream entry for a channel if they are live. That way I can always get the channel and stream entry for a user in a single call.