I agree, as long as we are setting parameters on what exactly we are talking about.
When you put a tag in your ignored section, it makes both literal and intuitive sense that any questions tagged that way are now ignored. Forever and for always.
However, there is one case that makes sense to create an 'exception'. If you search for something that is literally a tagname, it makes sense to me that you would want to receive results from that tag. If you do a search that doesn't include any tagnames, then your regular ignore rules will apply. If you want to be more pedantic, you could include a tag specifier, so even if I ignore "java" then searching for "getters tag:java" would retrieve results that are tagged java, even if it is ignored.
For us programmers, this is a matter of scope. The smaller scopes should trump the larger ones. Ignored tags are preferences, that is, they are a general scope. When I am searching I have a much more specific scope.
If I have "java" in my ignored tags, it is because I do not want to see Java question, but when I search for "java" we can assume two things. Either the user knows best, and she/he does in fact want results with java. Or we can 'protect' the user from what they don't want by excluding specifically what they asked for. Obviously, any search that excludes the specific nouns of the search phrase has some sort of problem.
In sum: If the user searches for a specific tag, then we include answers that have that tag, even if that tag has an 'ignore' on it.