Wolfram Language (Mathematica), 6965 bytes
If[#<3,1<2,#<2||!FreeQ[Tr/@(#^#~Check~0&Tr[Check[#^#,1]&/@IntegerDigits[#@#~IntegerDigits~i]~Table~{i,2~Range~#])2,#]]&#}~FreeQ~#&
The larger test cases will time out on TIO.-4 bytes from @attinat
Wolfram Language (Mathematica), 69 bytes
If[#<3,1<2,!FreeQ[Tr/@(#^#~Check~0&/@IntegerDigits[#,2~Range~#]),#]]&
The larger test cases will time out on TIO.
Wolfram Language (Mathematica), 65 bytes
#<2||!Tr[Check[#^#,1]&/@#~IntegerDigits~i]~Table~{i,2,#}~FreeQ~#&
-4 bytes from @attinat
Wolfram Language (Mathematica), 7069 bytes
If[#<3,1<2,!FreeQ[Tr/@(Check[#^#,0]&#^#~Check~0&/@IntegerDigits[#,2~Range~#]),#]]&
The larger test cases will time out on TIO.
Try it online!
Wolfram Language (Mathematica), 70 bytes
If[#<3,1<2,!FreeQ[Tr/@(Check[#^#,0]&/@IntegerDigits[#,2~Range~#]),#]]&
The larger test cases will time out on TIO.
Try it online!
Wolfram Language (Mathematica), 69 bytes
If[#<3,1<2,!FreeQ[Tr/@(#^#~Check~0&/@IntegerDigits[#,2~Range~#]),#]]&
The larger test cases will time out on TIO.
Wolfram Language (Mathematica), 70 bytes
If[#<3,1<2,!FreeQ[Tr/@(Check[#^#,0]&/@IntegerDigits[#,2~Range~#]),#]]&
The larger test cases will time out on TIO.
Try it online!