We are going through a similar SAS upgrade and migration project ourselves currently. Ours is SAS 9.4M2 to SAS 9.4M8 however.
In my experience it is essential to have a full-time network connection between your source and target SAS installations so you can do incremental SAS content updates as well as being able to do parallel runs to confirm and source and target processes produce the same results.
We use SAS/CONNECT and SAS procedures like SAS DATASETS for SAS data migration as it can handle encoding differences. Third party tools can't do this.
We also use our version control tools for migrating SAS programs, namely MS Visual Studio and MS DevOps. We have automated pipelines in DevOps deploying to both source and target SAS installation file systems. This ensures that we keep code bases in sync and ensure we can track any necessary changes required to run the same code on both source and target installations. Given you have 24K programs I suspect there will be an extended period of parallel running while you complete and test your migration. Use of version control tools is the best way of managing this.
I highly recommend trying to keep your source and target installation code as similar as possible while migrating so you can easily test and confirm it produces the same results. Once your migration is complete, then you can start to make greater use of Viya functionality.
In my experience SPK exports should be just about the existing SAS 9.4 metadata migration. It isn't designed for moving 24K SAS programs!
... View more