You are asking for entries that are tagged with both tags. Do you have any such entries? It seems more likely that the two categories are mutually exclusive. In that case, you get no results because there are no entries with both tags, and the implied operator is
& (i.e. AND). The "Matching tags and properties" section of the manual (which you can get to with
C-h i g (org)Matching tags and properties) says the following:
A search string can use Boolean operators ‘&’ for AND and ‘|’ for OR. ‘&’ binds more strongly than ‘|’. Parentheses are currently not
implemented. Each element in the search is either a tag, a regular
expression matching tags, or an expression like ‘PROPERTY OPERATOR
VALUE’ with a comparison operator, accessing a property value. Each
element may be preceded by ‘-’ to select against it, and ‘+’ is
syntactic sugar for positive selection. The AND operator ‘&’ is
optional when ‘+’ or ‘-’ is present. Here are some examples, using only tags.
Select headlines tagged ‘work’, but discard those also tagged
Selects lines tagged ‘work’ or ‘laptop’.
So, if you want to find entries that have either tag, then the search should be
home|work as in the second example above.
That works e.g with
org-tags-list) from the agenda menu, but it doesn't work with the severely limited forms of search that are implemented by
org-agenda-filter: this function applies each successive tag as a filter, so it implicitly does an
AND. Similarly for
But the OP mentions a custom agenda setting, so I wonder if the question is an X-Y question: if so, it may be that the chosen implementation should be abandoned and a different implementation be substituted in its place.
One possibility is the super-agenda package as mentioned in the comments. But it may be that a custom block agenda would satisfy the OP's requirements, e.g.:
'(("H" "Home- and Work-related tasks"
as discussed in the "Block agenda" section of the manual, which you can get to with
C-h i g (org)Block agenda.