JavaScript (V8), 60 59 5958 bytes
Prints the sequence 'forever' (that is, until the call stack overflows).
for(n=0;;)(g=d=>d&&n=0;g=d=>d&&!(n%d--)-~~(n+g)[d]+g(d);)g(++n)||print(n) Commented
We use a recursive function which simultaneously counts the number of divisors and subtracts the sum of the digits.
for(n = 0;;) // start with n = 0 and// repeatinfinite foreverloop: ( n = 0; // start with n = //0 g = d => // g is a recursive function taking a divisor d d && // stop if d = 0 !(n % d--) - // add 1 if d is a divisor of n ~~(n + g) // coerce n to a string with some additional // non-digit characters [d] + // subtract the d-th digit (0 if out of bounds) g(d) ; // add the result of a recursive call ) // g(++n) // increment n; initial call to g with d = n || print(n) // print n if the result is 0 Python 3, 78 bytes
-1 thanks to @Mukundan314
A port of my initial JS code. Most probably sub-optimal.
f=lambda d,v:d and(n%d<1)-v%10+f(d-1,v//10) n=1 while 1:f(n,n)or print(n);n+=1