Is filter actors supposed to work this way?

It picks up the selected class and its children, the entire chain of inheritance down the line.
If you put a child as a filter, it will not pick up its parent. But it will pick up that child’s children.

I think that’s the correct and logical behaviour; gives you quite a bit of control.