You make some assumptions.
$\sum\limits_{i=0}^{\infty} 3*10^{-i}$. You first assumption is that you assume this string of symbols is meaningful and has a consistent finite real value.
For a pre-calculus class I'll give that to you. We may assume that every finite real number can be written as a decimal and every decimal, even infinitely written ones (infinite in the directions of the negative powers; NOT infinite in the direction of the positive powers) represent a finite real numbers. This is actually not trivial but requires more sophistication than a student will have now[1].
$\sum\limits_{i=0}^{\infty} 3*10^{-i}= 3\sum\limits_{i=0}^{\infty} 10^{-i}$. It is an assumption that you can factor out from an infinite sum. I'll give you that. It's reasonable and it'd be absolutely impossible to prove[2].
$\sum_{i=1}^{\infty}\left(\frac{1}{10}\right)^i = \left(\frac{1}{1 - \frac{1}{10}}-1\right)$ That's a big assumption. I'm not sure when and how that was proven to you. I don't think I'm willing to give you that one[3].
From there on out the proof is fine.
I'd rather see:
Let $k = \sum\limits_{i=1}^{\infty} 10^{-i}$. Then $10k = 10\sum\limits_{i=1}^{\infty} 10^{-i} = \sum\limits_{i=1}^{\infty}(10*10^{-i})=\sum\limits_{i=1}^{\infty}10^{-i + 1}= \sum\limits_{k=0}^{\infty}10^{-k} = 10^{-0} + \sum\limits_{k=1}^{\infty}10^{-k} = 1 + \sum\limits_{i=1}^{\infty}10^{-i} = 1 + k$.
So $10k = 1 + k$ so $k = \frac 19$. $0.33333 = 3k = 3*\frac 19=\frac 13$.
=====
[1]. The definition of the real numbers is that the real numbers are a number system where if you have any infinite set of real numbers, but there is some value that is larger than all the numbers in the set. Then there is some specific value, called the "least upper bound" which is the smallest real number that is equal or larger than all of the numbers int the set.
So for instance $\{1-\frac 12, 1-\frac 12 + \frac 14 - \frac 18, 1-\frac 12 +\frac 14 -\frac 18 + \frac 1{16} - \frac 1{32},... \}$ are all less that $1$. So by the definition of reals there must be some number $k$ so that $k$ is equal or bigger than all of them, but $k$ is the smallest number that is. As it turns out, $k = \frac 23$. $\frac 23$ is bigger than all of them, but any number smaller than $\frac 23$ will have some terms larger than it.
So consider $a_i*10^{-i}$ were $a_i \in\{0,1,2,3,4,5,6,7,8,9\}$. Then $0\le a_i*10^{-i}< 10^{-i+1}$. So if we have an infinite list of $a_i$ terms and we consider the infinite set of $\{\sum\limits_{i=1}^m a_i*10^{-i}\}$. Every one of those terms is less than $1$ so there is some value that is the least term that is equal or larger than all of them. We indicate that number as $\sum\limits_{i=1}^\infty a_i*10^{-i}$ or $.a_1a_2a_3......$.
[2]. If all $\sum\limits_{i=1}^m a_i*10^{-i}\le k$ then then all $\sum\limits_{i=1}^m j*a_i*10^{-i}\le j*k$. And is $k$ is the least upper bound of $\{\sum\limits_{i=1}^m a_i*10^{-i}\}$ than $jk$ must be the least upper bound of $\{\sum\limits_{i=1}^m j*a_i*10^{-i}\}$. (Anything smaller then $j*k$ won't be an upper bound.) So $j*k = j(\sum\limits_{i=1}^\infty a_i*10^{-i}) = \sum\limits_{i=1}^\infty j*a_i*10^{-i}$.
[3] This involves infinite borrowing... I'm not willing to accept that.