This is my headcanon when I see a simple but long lasting bug like this at a large company.
To you or I, it seems simple. Clearly things are not working as intended and the fix is trivial. Raise a bug in the tracking system if you really have to, then just fix it, right?
Here's the thing. That code was written completely according to the specification. The path there was clearly there in the requirements. So what? So...that means it's not a bug, it's a feature change. And if it's not a bug, that means we can't officially use our allocated (but always shrinking) bugfix time to work on it.
If we want to fix it, we need to put in a feature change request. That means we have to articulate the value to the business in changing this feature and explain why we think the original specification is wrong. We can't get confirmation from the spec author because they are no longer with the company. That means we have to prove that it was written incorrectly.
If...and that's a big if, we can articulate that there's business value in doing this and that the original specification was likely incorrect, then we get to the really fun part. Prioritisation.
You see, the team that built that feature doesn't exist anymore. Once the bulk of the features were done, they got disbanded and the engineers moved to other teams. Technically there should be a single team responsible for every feature so it gets maintained, but in practice it doesn't really work that way. The people on the official team that's responsible haven't touched any of that code. They're not too keen on starting either because they have their own priorities.
So after all that, the task sits in the backlog of that team, neglected. Eventually in some distanct sprint planning session it will be flagged as an old ticket. You, who raised it, would have left the company and nobody in the meeting has context about why the task was created. Isn't that miscategorised, shouldn't it be a bug? Why is it with our team, is it even worth doing? Then it will be pruned from the backlog. The sad task that was fought for so valiantly, only to die sadly in the cutting room floor of a backlog grooming session.
Then one day, the bug will annoy a newcomer so much, they'll just sneak the change in under another ticket and the bug will finally be fixed. Months before the product gets scrapped for a worse replacement. What are the specifications of the replacement software based on? That's right, the original specs of the old system to ensure backwards compatibility.