Yes, the reasoning below the line in your question is correct, though it can be expanded for greater clarity. Lay out a row of $8$ stars, say:
$$********$$
Now insert $4$ dividers to break them up into $5$ groups, e.g.,
$$*||***||****$$
From left to right read off the number of stars in each of the $5$ groups: $$10304$$
The result is clearly a number between $1$ and $99999$ whose digits sum to $8$. And the procedure is clearly reversible, so the number of ways of inserting the $4$ dividers really is the number of integers in which we’re interested. For example, starting with $352=00352$, we get
$$||***|****|**$$
The string of stars and dividers is a string of $8+4=12$ objects, and the $4$ dividers can go anywhere in this string, so there are $\binom{12}4$ ways to place them and therefore $\binom{12}4$ numbers of the desired kind.
Here's how I'd do it.
Count all of the one-digit numbers. Count all of the two-digit numbers. Rinse and repeat until you've counted all of the eight-digit numbers.
You'll want to determine up-front whether $0012, 012,$ and $12$ are the same numbers, or different numbers.
There are obviously $4$ one-digit numbers.
If we don't have leading zeroes, then there are three choices for the first digit. If the first digit is $1$, then we have three choices for the second digit. Otherwise, four choices. So, $11$ two-digit numbers (no leading zeroes).
If we allow leading zeroes, we have $15$ two-digit numbers.
For three-digit numbers, the number may consist of one, two, or three different digits. There are $4$ ways to choose three different digits, $6$ ways to choose two of one and one of another, and $1$ way to choose the same digit for all three places. Count up the number of arrangements in each case.
You've done the eight-digit number case. For seven- and six-digit numbers, it's probably easier to count the cases here by removing one and two digits from the group, respectively. For seven-digit numbers, the number of arrangements depends on which digit you remove from the group.
For four- and five-digit numbers, choose your poison.
Best Answer
Let's first solve it for arbitrary sequences of with values in $\{0,\dots,B-1\}$. Then clearly there is a bijection between sequences of length $k$ ending in $0$ and sequences of length $k-1$, and we know there are $B^{k-1}$ instances of the latter. Now you want only sequences denoting non-negative numbers, so $0^k$ is no longer an option, but that's the only sequence that you forbid, so the answer is $B^{k-1}-1$.
Edit: @mvw is right, I mistook non-negative for positive. So if you really mean non-negative, I can't explain the answer either.