After years in this industry and seeing so many things like this just fail, my perspective is that the "right" way to do it (rewrites/replatforms) is build shared components and have teams that deploy to both and so live in both worlds.
This way the old gets the new, and the new has to live and breathe the reasons for the compromises that the old lived through the first time. And you don't end up with a "legacy" team and a "future" team.
Example: I tried (a bit half-heartedly and I was low-status so nobody cared) to pitch that we write a new screenreader for Home Hub rather than brutally kludging in the one from ChromeOS. A new screenreader that could be shared with Fuchsia, as they were writing one from scratch. If building from scratch why not build one as a component that can be shared? That approach was seen as a total non-starter by the people I talked to. Fuchsia got to write their shiny new thing basically in isolation and barely interacted with us poor folk who had to keep maintaining the actual-existing screenreader deployed on several million devices in people's homes. Mainly fell to my friend/coworker who was a hero.
BTW we both quit the same day.
https://cs.opensource.google/fuchsia/fuchsia/+/main:src/ui/a...