It won’t be near as tough. I’ve been in Drupal since the 6->7 transition. D7 was still procedura with a homebrew event system (hooks). D8+ is OO based, near total rewrite built on top of symfony and a few other well managed PHP components. The change was drastic and removed 90% of the hook system so no D7 code could run on D8 if it wasn’t a pure php library. Upgrading from 8->9 though is fairly simple on a requirements level and only gets tricky if you have some heavy customization. Each time a new major version comes out now there is an equivalent old version that still has all the deprecated code. So for instance moving from 9->10 we have 9.5.x that will be supported for the next year and has all the same features available to it as 10.0.x. So it is just a matter of tracking down deprecated code (either Drupal 9 or PHP < 8.1) and refactoring it, then running composer update. 10 to 11 will follow the same pattern unless there is some massive unforeseen change. This process can be accelerated by paying attention to the 6 month minor releases that mark code as deprecated and direct devs to the appropriate replacement. Odds are really good that a well maintained 9.4.x site can jump to 10 with minimal pain.