Every time you create/update an entity, it's indexes are updated based on values of it's properties.
If a property does not exist or a list property does not contain a value (= tag in your case), then there is no entry for it in the index. Since queries rely in indexes to find stuff, it will not be found.
This is not a NDB query limitation, but rather a GAE datastore limitation, meaning that all APIs accessing it have this limitation (Java/Python/Go , low-level API, etc..).
AFAIK, there is no direct way around it. You can code around it by getting all Articles and then checking in code for those missing the tag, but this can be costly depending on the number of articles.
You might want to create a new question and describe the problem in detail from application perspective: what is the end result you are trying to achieve?