How to show only values matching filter in a view?
It's most important for you now to get how Views works. Views are nothing more than (really good and elaborate) query builder. Each time you set a filter, what you are really doing is adding another condition to query's WHERE line. It does not, in any way, affect anything before WHERE - especially not list of fields to obtain.

Now, you are not first one to need this. So there is Views Filter Field module, that simply allows you to display filter's value as a field. That way if you want nodes with A, don't show the terms attached to a node. Just show a filter's value of A, and you will get what you wanted: A, but not B even if node contains both A and B terms.