Did you create the field with the calculated value after the table was already in production (i.e. did records exist before they had this field available?)
If so, then they are calculating the value for list display only and don't have anything stored in the database (where the filter is querying from.)
You'll need to run a script in scripts-background to update all existing records to save the calculated field in the database for each record (and be sure to use autoSysFields(false) and setWorkflow(false) and setForceUpdate(true)) to go in stealth mode.
var r = new GlideRecord('task');
r.addQuery('sys_class_name','pm_project');
r.query();
while (r.next()) {
r.setForceUpdate(true);
r.autoSysFields(false);
r.setWorkflow(false);
r.update();
}