OK - because it is trivial that you get primes, if you only consider primes, as you wrote first.
Yes, your condition is probably stronger than that from Buss. Both of your formulas,
Buss's B(n) = nextprime(f+1)-f and your D(n) = min{ k>1 | isprime(concat(f,k)) }
produce a number that cannot have a common factor with f = product of earlier terms.
(Because if p divides k and f, then also concat(f,k) = f*10^n+k.)
Your formula is more restrictive, because it allows at once only k's ending in 1, 3, 7 or 9,
which BTW excludes 2 & 5, so your sequence can't have all primes as Buss's does.
(Buss's condition excludes 2 and 5 only after they have appeared.)
In both cases, a composite candidate k would have to have two or more prime factors
that did not appear earlier, which requires such candidates to be increasingly large
(at least the square of the smallest prime not yet seen),
and this lower bound is in general much larger than many primes which don't divide f.
Both of your formulas take the smallest available candidate with gcd(f,k) which
"accidentally / by chance" yields a prime when added or concatenated to f.
Maximilian
PS:
Your sequence starts [3, 7, 11, 17, 23, 19, 13, 29, 37, 41, 67, 53, 71, 47, 97, 109, 113, 107, 31, 151, 59, 73, 127, 43, 131, 101, 137, 157, 103, 227, 149, 181, 223, 193, 211, 241, 167, 251, 79, 83, 163, 347, 197, 173, 293, 263, 367, 307, 257, 463, 383, 239, 179, 419, 571, 577, 283, 89, 373, 823, 379, 233, 541, 929, 617, 619, 631, 709, 673, 1231, 547, 199, 947, 1171, 449, 397, 311, 953, 349, 191, 409, 139, 317, 601, 431, 271, 457, 613, 509, 719, 811, 647, 659, 967]
(PARI)
f=1; for(n=1,99,forstep(k=3,oo,2, isprime(eval(Str(f,k)))&& print([n,f,k])+(f*=k)&&break)))