Legacy projects mean 'those in production currently working'. So to solve problems in that context you have to really work with complicated, very high-stakes constraints. "You can't refactor X Y way because of customer requirement Z". You really need to build up intricate context on how/why the product does what it does, even if in the abstract it doesn't seem like a 'best practice' (whatever that is...)
Maybe an unpopular opinion, but working and navigating these problems feels more "real" than an abstract greenfield project with very few constrains.
Prefer stability and longevity over newness.