These puzzles are entirely formal logic. Now you may not like or understand the intricacies of the logic/math and how it interacts with the English language, but the rules, and thus the solutions, are pretty objective and not open to interpretation.
Then the puzzle shouldn't use the word lie, because to lie can mean to be deceptive, and saying all your hats are green when you have no hats is clearly deceptive and thus can be considered a lie.
It's not deceptive, it's simply true in formal logic. I've been thought in linear algebra 101: all statements about the elements of the empty set are true. That's the core of this puzzle, and contrary what OP claimed, it's a matter of logic, not language.
But the question is being presented to humans via language and without any formal logic training.
If it's a formal logic problem it should be presented in formal logic terms (presumably that only those with formal logic training would even understand) so then there is no possibility of language ambiguity.
I'm not trying to be argumentative, but this is just how this come across to me, and I am pretty confident most humans would consider it a lie which I think would count for something given the place and the way in which the question was presented.