Can someone check whether my solution is okay?
If $\mathcal{A}\subseteq \mathcal{B}$, $\mathcal{A}\preceq \mathcal{C}$, and $\mathcal{B}\preceq \mathcal{C}$, prove that $\mathcal{A}\preceq \mathcal{B}$.
Let $\mathcal{A} \subseteq \mathcal{B}$, $\mathcal{A}\preceq \mathcal{C}$, and $\mathcal{B}\preceq \mathcal{C}$. Then for any $\mathcal{L}$-formulas $\phi$ and assignments $\alpha$, $\mathcal{A}\models \phi[\alpha]$ if and only if $\mathcal{C}\models \phi[\alpha]$ if and only if $\mathcal{B}\models \phi[\alpha]$. Then $\mathcal{A}\models \phi[\alpha]$ if and only if $\mathcal{B}\models \phi[\alpha]$ and by definition of substructures, $A\subseteq B$. Then $\mathcal{A}\preceq \mathcal{B}$.
The proof seems okay. One point you glossed over a little bit more than you should have: when you choose $\alpha$, you should specify that it is an arbitrary assignment in $A$, and later on, when you use $B\preceq C$, you should deduce that it is therefore an assignment in $B$ (so you can apply $B\preceq C$). Just make sure you apply the hypothesis directly, and how you apply it. That should remove all doubt about correctness.