In "A First Look at Rigorous Probability Theory" by J. S. Rosenthal there is the following exercise:
Prove that weak limits, if they exist are unique. That is, if $\mu, \nu, \mu_1, \mu_2, \ldots$ are probability measures [on $(\Bbb{R},\mathcal{B}(\Bbb{R})$] and $\mu_n \Rightarrow \mu$, and also $\mu_n \Rightarrow \nu$, then $\mu = \nu$
Now the official solution:
Ok, I had instead the following idea:
If $\int f \, d\mu_n \overset{n\rightarrow\infty}{\longrightarrow} \int f \, d\mu$ and $\int f \, d\mu_n \overset{n\rightarrow\infty}{\longrightarrow} \int f \, d\nu$ for any real continuous bounded function $f$, for any such function it must also hold (the limits are just limits of real numbers!) that $$\int f \, d\mu = \int f \, d\nu\, .$$
Now using those "trapezoid-like functions" $f_n$

we have for an half-open interval $(a, b] \subset \Bbb{R}$ pointwise limit $$\lim_{n\rightarrow \infty} f_n = \mathbf{1}_{(a, b]} \, . $$ Now using dominated convergence $$ \mu((a, b]) = \int \mathbf{1}_{(a, b]} \, d\mu = \int \lim_{n\rightarrow \infty} f_n \, d\mu = \lim_{n\rightarrow \infty} \int f_n \, d\mu = \lim_{n\rightarrow \infty} \int f_n \, d\nu = \int \lim_{n\rightarrow \infty} f_n \, d\nu = \int \mathbf{1}_{(a, b]} \, d\nu = \nu((a, b])\,. $$
The crucial step here was $\lim_{n\rightarrow \infty} \int f_n \, d\mu = \lim_{n\rightarrow \infty} \int f_n \, d\nu$. Contrary to the indicator function, the $f_n$ are continuous, so this follows, as we have seen, from $\mu$ and $\nu$ being weak limits of the same sequence of measures.
Since the measures $\mu, \nu$ are probability measures and so $\sigma$-finite and have the same value on the semi-ring of half-open intervals, by Carathéodory's extension theorem we conclude that $\mu =\nu$.
Would that solution be right, too?
Your solution is right; the only little thing is that you can justify what you call "crucial step" by the displayed equation before the picture of the function $f_n$.