At some point you just have to rip the bandaid off and put any ongoing work on pause until the upgrade is done. Otherwise it'll be another 3 years on and off while you try to do the upgrade but the codebase keeps changing underneath you.
And if that isn't happening and there's no other development on the codebase, why bother upgrading it?
And if that isn't happening and there's no other development on the codebase, why bother upgrading it?