[guided]The matrix
\begin{align*}
X_n^\top X_n/n
\end{align*}
is positive semidefinite, so its spectral edges are controlled by the singular values of $X_n$. We therefore introduce the singular values in a way that is defined in every rectangular regime. For each $n \in \mathbb N$, set
\begin{align*}
q_n := \min\{n,d_n\},
\end{align*}
and let
\begin{align*}
\sigma_{1,n} \geq \cdots \geq \sigma_{q_n,n} \geq 0
\end{align*}
denote all singular values of $X_n$, counted with multiplicity. This avoids referring to $\sigma_{d_n,n}$ before knowing that $d_n\leq n$.
We now invoke the [Bai-Yin singular-value edge theorem](/page/Bai-Yin%20Theorem). Its hypotheses are exactly the hypotheses available here: the entries of $X_n$ are independent and identically distributed, have mean $0$, have variance $1$, have finite fourth moment, and the rectangular aspect ratio satisfies
\begin{align*}
d_n/n \to \gamma \in (0,\infty).
\end{align*}
Therefore the upper singular-value edge satisfies, almost surely,
\begin{align*}
\frac{\sigma_{1,n}}{\sqrt{n}} &\to 1 + \sqrt{\gamma},
\end{align*}
and the lower rectangular edge satisfies, almost surely,
\begin{align*}
\frac{\sigma_{q_n,n}}{\sqrt{n}} &\to |1-\sqrt{\gamma}|.
\end{align*}
The distinction between $\gamma<1$, $\gamma=1$, and $\gamma>1$ matters. If $\gamma<1$, then eventually $d_n<n$, so $q_n=d_n$ and the lower edge is the smallest column-side singular value. If $\gamma=1$, there need not be eventual inequalities between $d_n$ and $n$; nevertheless the lower edge tends to $0$, which is exactly the desired limiting lower eigenvalue. If $\gamma>1$, then eventually $d_n>n$, so $q_n=n$ and
\begin{align*}
\frac{\sigma_{n,n}}{\sqrt{n}} \to \sqrt{\gamma}-1>0,
\end{align*}
which will force full row rank for all sufficiently large $n$ on the full-probability event.[/guided]