I generally try to phrase "legacy" as "something that is surprisingly expensive to maintain and improve".
A Mercedes limousine from the 1930s might still drive, and be reliable and stable. Finding parts for it probably requires custom-making them, and that's why I would consider it a legacy car.
Or something that many can’t service. Ive seen legacy apps in PROD for which only the binary existed and nobody was exactly sure what it was doing, they had an idea and workarounds for when it breaks.
I think you could make a good definition based on the institutional knowledge of a system, and how much of the system is not included in that knowledge.
Flashback to a utility that only existed as a binary, but was key to some prod processes. Even better - by the time I met it, said utility crashed on a SEGV after it accomplished it's task. So SOP became - ok, xxx crashed, we're good to proceed.
I would define legacy as when the IT system drives the business.
When working in government it was really obvious when you’d find these systems, as they were usually modeled after a paper process. The organization usually outgrows the process, then they start building shims to adapt.
Newer legacy is harder, as the paper processes were usually better than whatever nonsense was cooked up circa 1997-2007. Paper process people almost always understood the business better than their successors.
My definition is pretty straightforward: legacy is every system of which maintainers don't have complete knowledge.
Also legacy is a spectrum: there is a difference between that side project you coded 2 months ago and forgot about, and that mysterious cobol mainframe the bank found when reworking the office to open floor.
A cornerstone of your organisation but few know how it got there or how it works. And even those who do can’t verify it historically. And monsters. Those too.
I’d argue that “legacy” is only really used to try to sell you something. It’s a marketing term and doesn’t really say anything useful about the nature of a system.
I worked at a financial institution during a migration from one core system to another. I was their "Administrator of Legacy Systems." At the time I thought that the "legacy" was the data we kept in the system - all of the transaction records, account information, etc. At the time I didn't consider it a pejorative, but seeing how the term draws derision these days I'm not really so sure!
The salesperson's standard definition is, "That which I didn't sell you."
The coder's definition too often is, "Not in a language I think cool."