Axiom, 280 bytes
w(x:Union(List(Any),NNI)):Boolean==(x case List(Any)=>(g:List(Any):=x;leaf? g=>return true;for i in g repeat(q:=w(i);q=false=>return false);return true);r:NNI:=x;r=2=>true;false)
m(b:List Any):Boolean==(for i in b repeat(q:=w(i::Union(List(Any),NNI));q=false=>return false);true)
ungolfed and test
f(x:Union(List(Any),NNI)):Boolean==
x case List(Any)=>
g:List(Any):=x
leaf? g =>return true
for i in g repeat
q:=f(i)
q=false => return false
return true
r:NNI:=x
r=2=>true
false
h(b:List Any):Boolean==
for i in b repeat
q:=f(i::Union(List(Any),NNI))
q=false=> return false
true
(5) -> [[i, m(i)] for i in [ [2],[2,2],[[2],[2,2],2],[],[[],[]] ] ]
(5)
[[[2],true],[[2,2],true],[[[2],[2,2],2],true],[[],true],[[[],[]],true]]
Type: List List Any
(6) -> [[i, m(i)] for i in [ [1],[22],[2,2,2,1], [[1,2],2] ] ]
(6) [[[1],false],[[22],false],[[2,2,2,1],false],[[[1,2],2],false]]
Type: List List Any
[[2]]
does not contain a two. \$\endgroup\$