I have always done side by side upgrades since starting with 8.8 and have done them in the manner you've laid out.
I have migrated the clients to the new core by creating a self contained agent installer for the new core and pushing it to the clients from the old core to get them migrated. There is always a small percentage of workstations that will continue to report to the old core that will have to be tracked down, so my old cores tend to hang around for a while before retiring.
I was told there is a "Package Porter" utility that can be used to transfer distribution packages from one core to the next, but I have not used it.
Good luck with your migration.