In the app builder application, when applying a filter using the "is not" condition yields wrong results. It works exactly how "is" works. For example I have A and B entries in the field and I say filter this field and show what "IS NOT" A. It should show me only the B entries in the map but it does the opposite. If I try to use the condition "is" it again shows the A entries which is correct in this case. So "is" and "is not" yield the same results.
I tested it in the web map and it works correctly there, so I guess it is a problem with the web apps.
I see the issue you are mentioning. I was able to get it to work properly if I set Case sensitive in the Query widget setting for that expression. You should call esri tech support and log a bug for this.
I'm still curious because from what I understand from you first reply is that you managed to use filtering on a layer that was not hosted (since you used case sensitive option). But filtering does not work on non-hosted layers in the first place. Isn't that right? How did you do that?