It would be understandable to say no, because there's probably no way anyone would be able to find out or verify you were fired over 20 years ago from a non-existent company.

The problem with saying "no" is that it is not the truth. And not telling the truth seems to bother you, which is not an uncommon response.

This is a personal ethical choice to be sure, but you'll also have to carry around the worry, irrational or not, that someone someday will find out.

If this was a question about work history, I would definitely omit that job since it was so long ago, but that's not what the question is asking.

There's no way to say for sure what any particular company's policy is with a question like that. In my experience companies usually take context into consideration. The fact that they provide 400 words for this (as opposed to a simple checkbox) does seem to indicate they are doing so. The company would likely not go through the trouble of handling an application if they blindly rejected anyone who had been terminated.

I would say yes, and also briefly explain that it was 20 years ago, and served as a wake-up call and important learning lesson. You can turn this into a positive.

A company who would reject you based on that answer (or outsource that rejection power to an automated process) is probably not one you'd want to work for.