Prolog, 143 bytes
#Prolog, 143 bytes# Code:
q(X,N):-X<9,N=0;A is abs(X mod 10-X//10 mod 10),Y is X//10,q(Y,M),N is A+M*10.
r(X,N):-X<9,N=X;q(X,Y),r(Y,M),N is X+M.
p(X):-r(X,N),write(N).
Explained:
q(X,N):-X<9,N=0; % If only one digit, the difference is 0
A is abs(X mod 10-X//10 mod 10),Y is X//10,q(Y,M),N is A+M*10. % Else, the difference is the difference between the last 2 digits + the recursive difference of the number without the last digit
r(X,N):-X<9,N=X; % If we only have 1 digit the final answer is that digit
q(X,Y),r(Y,M),N is X+M. % Else, the final answer is the current number + the recursive difference of that number
p(X):-r(X,N),write(N).
q does the calculations that convert a number into it's Digit Difference.
r recursively calls q and sums up the results to find the Digit Difference Sum.
p is the entry point. Takes a number, calls r and prints the answer.
Example:
>p(8675309).
8898683
Try it online here.