The chosen solution is probably totally acceptable for you at this point, but it is not a complete solution and may (unlikely) cause problems in the future.
@BarryCarlyon is right that there is no reason to dedicate a connection for each channel, but if you find yourself in 1000 active channels on a single connection, the connection will drop.
It’s up to you how you divide up channels on different connections/instances since it depends entirely on activity and not a number of channels, but a simple channel limit will get you far (e.g., if you would join more than 50 channels, then join them on a new connection).
The connection is buffered and if the buffer would overflow, the connection will be dropped. This happens server-side and is irrespective of network connection: it would still happen even if you had an 800Gbps connection directly to the chat server.
This should be obvious from a networking standpoint (sure, if you already know how it works), but it’s also pretty easy to test if you don’t believe me. I’ll leave it as an exercise for the reader so Twitch doesn’t think I’m encouraging activities it might consider harmful (mass joining channels for no good reason).
Is that true? The documentation mentions “join attempts” without making clear whether that refers to JOIN messages or channels to join.