☒ Yea, from nearly every article I've read, this is one of the most common "overlooked" things. StimulusJS may be overkill for this kind of functionality, but it make it so easy to create "situational" websocket subscriptions based on which page you're on by simply adding in the controller name. Disconnecting from a subscription also seems to be a very overlooked topic.
☒ it's using Rails 6. however, you should be able to do the same in Rails 5 with little to no changes. Some of the folder structuring may be different if you've not moved the javascript assets out of sprokets. However, the concepts are the same.