That's an interesting definition. I agree with the OP and I don't think you did a good job writing a convincing argument regarding your definition.
I think it's because of your clouded definition of "stack" when talking about a full stack developer.
You first say:
To me, full stack means front end + back end -- can write good CSS and can write good queries. Knows how JavaScript's "this" works, and can intelligently converse about data sharding.
Then you conclude with:
The "stack" web developers are talking about is, for example, LAMP -- Linux, Apache, MySQL, PHP (or pick your own stack)
Nowhere in your conclusive definition does JavaScript or CSS come into play. You began discussing various technologies and concluded with a description of back end development stacks (LAMP, LEMP, WAMP and so on), but not "full stack."
Your previous definition was a bit closer when you included JavaScript, HTML and CSS in my opinion.
When I think of a "full stack developer" it means that they can work anywhere in the entire technology stack, not necessarily the software development stack. That means they can SSH around to various services and fire up databases or tail log files or write JavaScript or generate Perl scripts or tweak CSS or anything in-between.
Are they a systems administrator? No.
Are they a database administrator? No.
Are they a front end developer? No.
Are they a designer? No.
Can they perform many of the common duties of those positions? I would hope so.
What you seem to have defined, is simply a front and back end developer, and not, in my opinion, a full stack developer.