How can I filter by a term when on a sub-page of that term?
I'm a little confuse on what you're trying to show but I think you can do what you want with contextual filters. 

To do so: 


Add taxonomy to the filter critera (Has taxonomy term ID)
In the first section (when not available), select Provide default value
Type : Raw Value from URL
Select your path component (let say 2 for your term1, categories would be 1)
In the "When the filter value IS available or a default is provided" section, check "Specify validation criteria"
Validator : Taxonomy
Check the appropriate vocabulatory
Filter value type : Term name converted to ID


What that filter will do is check a part of the url and match it against the vocabulary. If a term is matched, let say term1, it will show nodes that have the term. You can add multiple filter to validate multiple part of the url. It's pretty much the same for the content types. 

So /term1 could filter all node with term1. term1/activities could filter all term1&amp;activities... You get the idea. Just don't hide the view if the filter doesn't validate, make it show all results.