CM had indeed a persist.sys.ring-speaker
property to do exactly this. I don't believe it was ever available outside of the android 2.3 tree though (and as of 2020, developers don't even seem to realize there is a need for "choice").
Then, while I think a "native routing selection setting" (like some vendors already independently offer) is the best solution, workarounds should still be doable. A phone dialer automatically switching/mirroring audio for you would be my second best idea, but unfortunately I'm not aware of any having such feature.
For this reason, the only other possible option is some kind of notification listener, re-routing the sound, or playing a new separate tone of its own, when a call approaches. In this thread "Shouter" was recommended, and I have to say it works quite neatly (a tasker recipe can also be found there, for more advanced users).
Take note, not all devices may like playing more than a single audio stream at once.