(Haskell)
import Data.List (permutations, (\\))
a258706 n = a258706_list !! (n-1)
a258706_list = f a000040_list where
f ps'@(p:ps) | any (== 0) (map a010051' dps) = f ps
| otherwise = p : f (ps' \\ dps)
where dps = map read $ permutations $ show p
(PARI)
{A=[2, 5]; for(n=1, 317, my(D=[1, 3, 7, 9], r=10^n\9); for(a=1, 4, for(b=a^(n<3), 4, for(j=0, if(b!=a, n-1), ispseudoprime(D[a]*r+(D[b]-D[a])*10^j)||next(2)); A=setunion(A, [r*D[a]+(D[b]-D[a])*10^if(b<a, n-1)])))); A}
is(n)={(n=digits(n))[#n]>=n[1] && #select(d->d, n[^1]-n[^-1])<2 && !for(i=1, (#n)^(n[#n]>1), isprime(fromdigits(n=concat(n[^1], n[1])))||return)} \\ By Johnson's theorem and minimality required here, the number must be of the form ab...b or a...ab (=> first difference of digits has at most 1 nonzero component) and then is sufficient to consider rotations of the digits.