Passei por algo semelhante. Na empresa em que trabalho, o sistema é totalmente integrado, parecendo um verdadeiro ninho de mafagafos (rs... não ironicamente). O sistema legado estava em alguma versão do PHP 5.X, e atualizamos o servidor para o PHP 8.X, incluindo o banco de dados, que é MariaDB. Tivemos diversos problemas de compatibilidade no sistema, com funções, telas e classes deixando de funcionar, já que a linguagem havia sofrido alterações e melhorias. O objetivo era apenas atualizar, então eu e o estagiário que trabalhava comigo na época utilizamos Docker para simular a atualização e corrigir os erros. Esse processo levou alguns meses. Acredito que, se tivéssemos que refazer o sistema, levaríamos alguns anos, mas esse não era o objetivo da empresa.
Mesmo corrigindo diversos erros, quando implementamos a atualização, passamos cerca de um mês ainda resolvendo novos problemas que só foram identificados quando os usuários começaram a utilizar o sistema.
Não sei como é o processo de desenvolvimento na sua empresa, mas, se possível, teste todos os aspectos durante as atualizações, simule casos e ambientes isolados. Se puder, desenvolva de forma a facilitar futuros testes e manutenções na aplicação, sempre mantendo o objetivo em mente. Acredito que a empresa, acima de tudo, queira o projeto funcionando.
Legal a sacada de usar o Docker para simular, vou tentar fazer isso aqui! seu comentário foi muito bom, algo que me perguntava era sobre o tempo também de ir por um caminho ou outro, você respondeu isso muito bem, obrigado por compartilhar sua experiência passada. Sim acima da tudo o projeto tem que estar rodando paralelo, mesmo que na versão antiga, enquanto resolvo os bugs da nova.