Thanks, you have a very good point. There are many ways to stop unnecessary work in background, for example using ProcessLifecycleOwner. Explicit stopping is both simpler and less error-prone than tweaking each and every flow observer.
We don't want our apps to be as confusing as quantum physics, where observing a system changes its behavior (as Artur Artikov said in a comment on Manuel Vivo's article: https://medium.com/@a.artikov/i-in-my-opinion-this-solution-is-over-complicated-77ce684a4014).
I think this is an example of how reactive approach can be overused, creating more problems than it solves.