Events are emitted on a channel and channels aren’t hot. If there’s no collector they buffer, or rendezvous depending on your configuration. (SharedFlow or StateFlow on the other hand is hot.)
There’s nothing special about the channel that’s different between a shared and non-shared view model. The only difference are the collectors pulling data off the channel, their lifecycle and set up.
The only way that the channel would drain is how your collector is set up when it starts and stops collecting. The channel also has a fan-out property so if you connect two collectors at the same time then you will see odd behaviour.
Two different fragment lifecycles can overlap so yeah in the shared view model scenario you might have to tighten up which lifecycle states you collect in but conceptually the issues are the same.
Care to share some code that demonstrates your issue?