This solution could work, but I think it’s not the best way as those start events are only needed due to the migration and have no business use case.
This makes it harder to understand a process when looking at it and especially makes it more complicated when discussing with the business.
As another idea you could use start instructions in the CreateProcessInstance gRPC method to start the process before any element.
Or use the ModifyProcessInstance method to modify already running process instances.