The linguistics imo are pretty ill defined.
"All" bring a common colloquial term doesn't have a strict set theory definition here. It is reasonable many people think zero hats is means the lie is in this very first word.
A lot of people will consider "all" to implicitly mean 1 or more, while I think strict logicians will map colloquial all to 0 or more.
All mat imply colloquially 2 or more as well, as why bother say "all" if you had one hat in the truthful sense
"My hats" contrasts with the "has a hat" because having a hat in your possession that you could have borrowed does not confer ownership that the word "my" can imply.
So great, a three letter word and a two letter word and we are knee deep in ambiguity.
They could be wearing the hat to try to publicly locate the true owner who might say "hey I lost that hat at x".
"Are green"... Green as in vegetable? Green as in the specific wavelength defined as green and not lime or some other named shade? Completely green dyed being undermined by a black spot or a pattern on the hat?
Imo zero hats of ownership is a viable lie to the statement, as is having one red-green hat.
I like your way of phrasing this. Also, we can assume that this is not the only statement that the liar has ever told, so the context matters. If the preceding statement was "Every hat is my hat." Then we have a definition of "all" in the next sentence that works against the stated answer. So "we can't conclude anything" is really the answer because of undefined terms.