Let $n \geq 5$. It is easy to prove that if $H \leqslant S_n$ has index $\leq n$, then $H$ is $A_n$ or $S_{n-1}$.
So my question: can this be improved to $n^2$? I mean, if $[S_n:H] \leq n^2$, is it true that $H$ is one among $A_n$, $S_{n-1}$, $A_{n-1}$, $S_{n-2}$, $S_{n-2} \times S_2$?
As noted by others what you are asking for is not true in general. You also missed two infinite families which lie in between $A_{n-2}$ and $S_{n-2} \times S_2$. One of them is $A_{n-2} \times S_2$, and the other one is a copy of $S_{n-2}$ realized as $\{(\sigma, \operatorname{sgn}(\sigma)) : \sigma \in S_{n-2}\}$ in $S_{n-2} \times S_2$.
But besides this there are only finitely many other examples.
See Theorem 5.2B in Permutation Groups by Dixon and Mortimer, which states the following:
(For details about the exceptional cases, see Dixon and Mortimer's book.)
Apply this result with $r = 3$, and you will find that except for a finite number of examples (which can be determined case-by-case), $[S_n:H] \leq n^2$ implies that up to conjugacy in $S_n$, the subgroup $H$ is one of the following: $S_n$, $A_n$, $S_{n-1}$, $A_{n-1}$, $S_{n-2}$, $S_{n-2} \times S_2$, $A_{n-2} \times S_2$, the other copy of $S_{n-2}$ in $S_{n-2} \times S_2$ described above.
With enough patience, I guess you could use the same approach to classify $H < S_n$ with $[S_n : H] \leq n^3$.