The recurrence $S_n = r^n (S_{n-1} + 1)$ doesn't guarantee that $S_n \le S_{n-1}$: if, for example, $S_{n-1} = 0$, then $S_n = r^n$ and the sum has increased. To deal with this problem, we need a lower bound on $S_n$.
Which lower bound do we need? We can rearrange the recurrence to get
$$r^n(S_{n-1} + 1) \le S_{n-1} \iff r^n \le (1 - r^n) S_{n-1} \iff S_{n-1} \ge \frac{r^n}{1-r^n}.$$
It's not obvious that this is initially true, but it's easy to show that $S_{n-1} \ge r^{n-1}$: we can see this from the initial values, and we can prove it by induction from $$S_{n-1} \ge r^{n-1} \implies S_n \ge r^n(r^{n-1} + 1) \implies S_n \ge r^n + r^{2n-1} \ge r^n.$$ This will imply our desired lower bound for sufficiently large $n$: we get $r^{n-1} \ge \frac{r^n}{1-r^n}$ when $1 - r^n \ge r$.
This eventually happens for any $r \in [0,1)$, since $1 - r^n \to 1$ as $n \to \infty$. For $r = 0.9$ this is true once we hit $n=22$: we have $1 - 0.9^{22} \approx 0.9015$. So we've shown that $S_n \le S_{n-1}$ holds for $n$ at least $22$.
This isn't quite what we want, and the reason is that our initial lower bound of $r^{n-1}$ isn't sharp, but it still works for sufficiently large $n$, and you can verify values of $n$ between $5$ and $22$ directly with just some computation.
Alternatively, we can check that the inequality $$S_{n-1} \ge \frac{r^n}{1 - r^n}$$ holds for one specific value of $n$: for example, when $r=0.9$ it holds for $n=5$. Once it does, it holds for all higher values of $n$ by induction:
\begin{align*}
S_n &= r^n(S_{n-1}+1) \ge r^n \left(\frac{r^n}{1-r^n} + \frac{1-r^n}{1-r^n}\right)
\\ &= \frac{r^n}{1 - r^n} = \frac{r^{n+1}}{r - r^{n+1}} \ge \frac{r^{n+1}}{1 - r^{n+1}}.
\end{align*}
As we saw earlier, this upper bound implies $S_n \le S_{n-1}$, so the sequence is decreasing for $n \ge 5$.