[proofplan]
We build an elementary chain $(M_i)_{i < \kappa}$ beginning with $M$ and of size at most $\kappa$, arranging at each successor stage to realize all complete types over all $<\kappa$-sized parameter subsets of the current structure that are finitely satisfiable there. The cardinal arithmetic assumption gives both regularity of $\kappa$ and enough room to enumerate all such types at each stage. At limit stages we take unions, using the Tarski--Vaught chain theorem. Finally, any small parameter set in the union is already contained in some earlier stage, so its type appears in the next successor stage and is realized there.
[/proofplan]
[step:Extract the cardinal consequences of $\kappa^{<\kappa} = \kappa$]
We first record the two cardinal facts used throughout the construction. Let $\operatorname{cf}(\kappa)$ denote the cofinality of $\kappa$, meaning the least cardinality of an unbounded subset of the ordinal $\kappa$. Since $\kappa^{<\kappa} = \kappa$, [König's theorem](/page/K%C3%B6nig%27s%20Theorem) implies that $\operatorname{cf}(\kappa) = \kappa$; in other words, $\kappa$ is regular. Also, for every cardinal $\lambda < \kappa$,
\begin{align*}
2^\lambda \leq \kappa^\lambda \leq \kappa^{<\kappa} = \kappa.
\end{align*}
Hence $2^{<\kappa} \leq \kappa$.
[guided]
We need two consequences of the hypothesis $\kappa^{<\kappa} = \kappa$. Let $\operatorname{cf}(\kappa)$ denote the cofinality of $\kappa$, meaning the least cardinality of an unbounded subset of the ordinal $\kappa$.
First, $\kappa$ is regular. Indeed, if $\operatorname{cf}(\kappa) = \mu < \kappa$, then [König's theorem](/page/K%C3%B6nig%27s%20Theorem) gives
\begin{align*}
\kappa^{\mu} > \kappa.
\end{align*}
But since $\mu < \kappa$, the definition of $\kappa^{<\kappa}$ gives
\begin{align*}
\kappa^\mu \leq \kappa^{<\kappa} = \kappa,
\end{align*}
a contradiction. Therefore $\operatorname{cf}(\kappa) = \kappa$.
Second, we will repeatedly need to count subsets and types of size $<\kappa$. If $\lambda < \kappa$, then
\begin{align*}
2^\lambda \leq \kappa^\lambda \leq \kappa^{<\kappa} = \kappa.
\end{align*}
Taking the supremum over all $\lambda < \kappa$ gives $2^{<\kappa} \leq \kappa$. This is the precise reason the construction can realize all relevant types at each stage without growing beyond cardinality $\kappa$.
[/guided]
[/step]
[step:Show that each stage has only $\kappa$ many relevant types]
Let $P_i$ denote the collection of triples $(A,n,p)$ such that $A \subset M_i$, $|A| < \kappa$, $n \in \mathbb{N}$, and $p(x_1,\dots,x_n)$ is a complete type over $A$ finitely satisfiable in $M_i$.
Assume $|M_i| \leq \kappa$. The number of subsets $A \subset M_i$ of cardinality $<\kappa$ is at most
\begin{align*}
|M_i|^{<\kappa} \leq \kappa^{<\kappa} = \kappa.
\end{align*}
For each such $A$, the expanded language $L(A)$ has cardinality
\begin{align*}
|L(A)| \leq |L| + |A| < \kappa,
\end{align*}
because $|L| < \kappa$, $|A| < \kappa$, and $\kappa$ is regular. For each fixed $n \in \mathbb{N}$, the set of formulas in the finite variable tuple $(x_1,\dots,x_n)$ with parameters from $A$ has cardinality $<\kappa$, and the number of complete $n$-types over $A$ is at most
\begin{align*}
2^{<\kappa} \leq \kappa.
\end{align*}
Since $\mathbb{N}$ is countable and $\kappa$ is infinite, allowing all finite arities still gives at most $\kappa$ many types. Thus $|P_i| \leq \kappa$.
[/step]
[step:Realize all relevant finite tuple types over one model without increasing cardinality]
Let $M_i$ be an elementary stage with $|M_i| \leq \kappa$. Enumerate $P_i$ as
\begin{align*}
P_i = \{(A_\alpha,n_\alpha,p_\alpha) : \alpha < \mu_i\},
\end{align*}
where $\mu_i \leq \kappa$ and $p_\alpha(x_1,\dots,x_{n_\alpha})$ is a complete type over $A_\alpha$.
We construct an elementary chain $(M_{i,\alpha})_{\alpha \leq \mu_i}$ such that $M_{i,0} = M_i$, $|M_{i,\alpha}| \leq \kappa$ for every $\alpha \leq \mu_i$, and $M_{i,\alpha+1}$ realizes $p_\alpha$ whenever $\alpha < \mu_i$. At a successor stage $\alpha+1$, the type $p_\alpha$ is finitely satisfiable in $M_i$, hence also finitely satisfiable in $M_{i,\alpha}$ because $M_i \subset M_{i,\alpha}$.
Let $(c_1,\dots,c_{n_\alpha})$ be new constant symbols. Consider the elementary diagram of $M_{i,\alpha}$ in the language $L(M_{i,\alpha})$, together with all formulas $\varphi(c_1,\dots,c_{n_\alpha})$ for $\varphi(x_1,\dots,x_{n_\alpha}) \in p_\alpha$. Every finite subtheory is satisfiable: the finite part of the elementary diagram is true in $M_{i,\alpha}$ under its canonical interpretation of constants, and the finite part of $p_\alpha$ is realized by some tuple from $M_i \subset M_{i,\alpha}$, so the same interpretation satisfies both parts. By the [Compactness Theorem](/page/Compactness%20Theorem), the whole theory has a model $B$ whose reduct to $L$ is an elementary extension of $M_{i,\alpha}$ and in which the tuple interpreting $(c_1,\dots,c_{n_\alpha})$ realizes $p_\alpha$.
Apply the [Downward Löwenheim--Skolem Theorem](/page/Downward%20L%C3%B6wenheim-Skolem%20Theorem) inside the $L$-structure $B$ to the subset consisting of $M_{i,\alpha}$ together with the realizing tuple. This gives an $L$-substructure $M_{i,\alpha+1} \preceq B$ containing $M_{i,\alpha}$ and that tuple, with
\begin{align*}
|M_{i,\alpha+1}| \leq |L| + |M_{i,\alpha}| + n_\alpha + \aleph_0 \leq \kappa.
\end{align*}
Since $M_{i,\alpha} \preceq B$ by the elementary-diagram construction and $M_{i,\alpha} \subset M_{i,\alpha+1} \preceq B$, the Tarski test for elementary substructures gives $M_{i,\alpha} \preceq M_{i,\alpha+1}$. The chosen tuple remains in $M_{i,\alpha+1}$ and realizes $p_\alpha$ there.
[guided]
The delicate point is that compactness is applied not just to the type, but to the type together with the full elementary diagram of the current structure. Fix $\alpha < \mu_i$, and write the finite tuple of variables of $p_\alpha$ as $(x_1,\dots,x_{n_\alpha})$. Introduce new constant symbols $(c_1,\dots,c_{n_\alpha})$ intended to name a realizing tuple.
We must verify finite satisfiability of the combined theory. Take any finite set of elementary-diagram sentences and any finite set $\Delta(x_1,\dots,x_{n_\alpha}) \subset p_\alpha$. Because $p_\alpha$ is finitely satisfiable in $M_i$, there is a tuple $a=(a_1,\dots,a_{n_\alpha}) \in M_i^{n_\alpha}$ such that $M_i \models \bigwedge_{\varphi \in \Delta} \varphi(a)$. Since $M_i \preceq M_{i,\alpha}$, the same tuple satisfies the same formulas in $M_{i,\alpha}$. The finite diagram part is true in $M_{i,\alpha}$ by interpreting each constant for an element of $M_{i,\alpha}$ as that element. Interpreting each $c_j$ as $a_j$ therefore satisfies both the finite diagram fragment and the finite type fragment. This proves that every finite subtheory is satisfiable.
By the [Compactness Theorem](/page/Compactness%20Theorem), the full elementary diagram together with $p_\alpha(c_1,\dots,c_{n_\alpha})$ has a model $B$. Because $B$ satisfies the elementary diagram of $M_{i,\alpha}$, the map sending each element of $M_{i,\alpha}$ to the interpretation of its constant symbol is an elementary embedding. We identify $M_{i,\alpha}$ with its image under this elementary embedding, so the reduct of $B$ to $L$ is an elementary extension of $M_{i,\alpha}$. The tuple interpreting $(c_1,\dots,c_{n_\alpha})$ realizes $p_\alpha$ in $B$.
The model $B$ may be too large, so we now shrink it without losing the old structure or the realizing tuple. Apply the [Downward Löwenheim--Skolem Theorem](/page/Downward%20L%C3%B6wenheim-Skolem%20Theorem) to the $L$-structure $B$ and the subset $M_{i,\alpha} \cup \{c_1^B,\dots,c_{n_\alpha}^B\}$. It gives an elementary substructure $M_{i,\alpha+1} \preceq B$ containing that subset and satisfying
\begin{align*}
|M_{i,\alpha+1}| \leq |L| + |M_{i,\alpha}| + n_\alpha + \aleph_0 \leq \kappa.
\end{align*}
Since $M_{i,\alpha} \subset M_{i,\alpha+1} \preceq B$ and $M_{i,\alpha} \preceq B$, every existential formula over parameters from $M_{i,\alpha}$ true in $M_{i,\alpha+1}$ is true in $B$ and hence, by elementarity of $M_{i,\alpha} \preceq B$, already true in $M_{i,\alpha}$. This is the Tarski test, so $M_{i,\alpha} \preceq M_{i,\alpha+1}$. The realizing tuple belongs to $M_{i,\alpha+1}$, so $p_\alpha$ is realized at this successor stage.
[/guided]
At a limit ordinal $\delta \leq \mu_i$, define
\begin{align*}
M_{i,\delta} := \bigcup_{\alpha < \delta} M_{i,\alpha}.
\end{align*}
The [Tarski--Vaught Chain Theorem](/page/Tarski-Vaught%20Chain%20Theorem) gives $M_{i,\alpha} \preceq M_{i,\delta}$ for every $\alpha < \delta$. Also,
\begin{align*}
|M_{i,\delta}| \leq |\delta| \cdot \kappa \leq \kappa.
\end{align*}
Set
\begin{align*}
M_{i+1} := M_{i,\mu_i}.
\end{align*}
Then $M_i \preceq M_{i+1}$, $|M_{i+1}| \leq \kappa$, and every complete type in finitely many variables over a subset $A \subset M_i$ of cardinality $<\kappa$ that is finitely satisfiable in $M_i$ is realized in $M_{i+1}$.
[/step]
[step:Build the elementary chain of length $\kappa$]
Define $(M_i)_{i < \kappa}$ by transfinite recursion. Put $M_0 := M$. Given $M_i$, construct $M_{i+1}$ as in the previous step. If $\delta < \kappa$ is a limit ordinal, define
\begin{align*}
M_\delta := \bigcup_{i < \delta} M_i.
\end{align*}
By the [Tarski--Vaught Chain Theorem](/page/Tarski-Vaught%20Chain%20Theorem), $M_i \preceq M_\delta$ for every $i < \delta$. Since $\delta < \kappa$, $\kappa$ is regular, and each $|M_i| \leq \kappa$, we have
\begin{align*}
|M_\delta| \leq |\delta| \cdot \kappa \leq \kappa.
\end{align*}
Thus the recursion is well-defined, every $M_i$ has cardinality at most $\kappa$, and $M_i \preceq M_j$ whenever $i \leq j < \kappa$.
[/step]
[step:Take the union and verify elementary extension and size]
Define the final structure
\begin{align*}
N := \bigcup_{i < \kappa} M_i.
\end{align*}
Again by the [Tarski--Vaught Chain Theorem](/page/Tarski-Vaught%20Chain%20Theorem), $M_i \preceq N$ for every $i < \kappa$, and in particular $M = M_0 \preceq N$. Moreover,
\begin{align*}
|N| \leq \kappa \cdot \kappa = \kappa.
\end{align*}
Thus $N$ is an elementary extension of $M$ of cardinality at most $\kappa$.
[/step]
[step:Realize every finite tuple type over a parameter set of size less than $\kappa$]
Let $A \subset N$ satisfy $|A| < \kappa$, let $n \in \mathbb{N}$, and let $\Sigma(x_1,\dots,x_n)$ be a complete type over $A$ consistent with the elementary diagram of $N$. Since $\kappa$ is regular and $N = \bigcup_{i < \kappa} M_i$, there exists $i < \kappa$ such that
\begin{align*}
A \subset M_i.
\end{align*}
Indeed, for each $a \in A$, choose $i_a < \kappa$ with $a \in M_{i_a}$, and regularity gives
\begin{align*}
\sup\{i_a : a \in A\} < \kappa.
\end{align*}
Because $\Sigma(x)$ is consistent with the elementary diagram of $N$, every finite subset $\Delta(x) \subset \Sigma(x)$ is realized in some elementary extension of $N$. Therefore the existential sentence
\begin{align*}
\exists x\, \bigwedge_{\varphi \in \Delta} \varphi(x)
\end{align*}
with parameters from $A$ is true in that elementary extension, hence true in $N$. Since $M_i \preceq N$ and all parameters from $A$ lie in $M_i$, the same sentence is true in $M_i$. Thus every finite subset of $\Sigma(x)$ is realized in $M_i$.
Extend $\Sigma(x_1,\dots,x_n)$ to a maximal set $q(x_1,\dots,x_n)$ of formulas over $A$ that is finitely satisfiable in $M_i$, by [Zorn's Lemma](/page/Zorn%27s%20Lemma). Then $q(x_1,\dots,x_n)$ is a complete type over $A$, is finitely satisfiable in $M_i$, and extends $\Sigma(x_1,\dots,x_n)$. Hence $(A,n,q)$ belongs to the collection $P_i$ used when constructing $M_{i+1}$. By construction of $M_{i+1}$, there exists a tuple $b=(b_1,\dots,b_n) \in M_{i+1}^n$ such that $b$ realizes $q(x_1,\dots,x_n)$. Since $M_{i+1} \subset N$ and $\Sigma \subset q$, the tuple $b$ realizes $\Sigma(x_1,\dots,x_n)$ in $N$.
Therefore every complete type in finitely many variables over every subset of $N$ of cardinality $<\kappa$ is realized in $N$. Hence $N$ is $\kappa$-saturated in the stated finite-tuple sense, and the proof is complete.
[/step]