D7 block view to only show child nodes based on taxonomy
It turns out the problem was not as hard as I thought. The hard part was to know what relationship to set up and what contextual filter to implement.

I solved it by doing the following


Created a view of content using fields
Created a contextual filter using "has taxonomy term with depth"


Selected default value of taxonomy term ID from URL
Set it to depth 1 to pick up children
Limited to my vocabulary



That part was obvious. The next part is what caused issues and was not obvious. I could not find an example anywhere on how to do it.

It is easy to exclude the current page by using the nid contextual filter and using the "exclude" option under the "More" section. This is the answer found by searching online. The problem is it does not resolve the "peer" content issue. It would only remove the current node and not other nodes with the same term.

To fix that problem I found that when I added a relationship, a new contextual filter previously not available was added to the list and it had the all important exclude feature.

So I


Added a relationship using my taxonomy (Content)
Added a new contextual filter "term ID" previously not available


Selected default value of taxonomy term ID from URL
Limited it to my vocab (probably not necessary)
Set exclude under the More section



This removed all the nodes with the same taxonomy term as the current node, including the current node, leaving only the children nodes