[proofplan]
We build $N$ as a continuous elementary chain of length $\kappa$, starting from $M$. At each successor stage we take an elementary extension of size at most $\kappa$ that realizes every complete type over every parameter set of size $<\kappa$ from the previous stage. The cardinal arithmetic hypothesis ensures that there are only $\kappa$ many such types at each stage and that the final union has size at most $\kappa$; regularity of $\kappa$ then guarantees that every small parameter set is already contained in some earlier stage.
[/proofplan]
[step:Derive the regularity of $\kappa$ from the cardinal arithmetic hypothesis]
We first record that $\kappa$ is regular. Let $\operatorname{cf}(\kappa)$ denote the least cardinality of a cofinal subset of the cardinal $\kappa$. Suppose, toward a contradiction, that $\mu := \operatorname{cf}(\kappa) < \kappa$. Choose an index set $I$ with $|I|=\mu$ and a strictly increasing cofinal sequence $(\kappa_i)_{i \in I}$ of cardinals below $\kappa$, so that
\begin{align*}
\sup_{i\in I}\kappa_i = \kappa.
\end{align*}
By [König's theorem for cofinalities](/page/K%C3%B6nig%27s%20Theorem%20for%20Cofinalities),
\begin{align*}
\sum_{i\in I}\kappa_i
<
\prod_{i \in I} \kappa_i.
\end{align*}
Since the sequence is cofinal in $\kappa$, its cardinal sum is $\kappa$, and hence
\begin{align*}
\kappa
<
\prod_{i \in I} \kappa_i.
\end{align*}
Since $\kappa_i < \kappa$ for every $i \in I$ and $|I|=\mu<\kappa$, we also have
\begin{align*}
\prod_{i \in I} \kappa_i
\leq
\kappa^\mu
\leq
\kappa^{<\kappa}
=
\kappa,
\end{align*}
a contradiction. Hence $\operatorname{cf}(\kappa)=\kappa$.
[/step]
[step:Construct one elementary extension realizing all small types over a given model]
Let $A$ be an $L$-structure such that $M \preceq A$ and $|A| \leq \kappa$. We construct an elementary extension $B \succeq A$ with $|B| \leq \kappa$ such that every complete type over every subset $C \subseteq A$ with $|C| < \kappa$ in finitely many variables is realized in $B$.
Let $L_A$ denote the expansion of $L$ by a constant symbol $c_a$ for each element $a \in A$. Since $|L| < \kappa$ and $|A| \leq \kappa$, we have $|L_A| \leq \kappa$. Let $\operatorname{Diag}_{\mathrm{el}}(A)$ denote the elementary diagram of $A$ in the language $L_A$.
Define $\mathcal{P}(A)$ to be the set of all pairs $(C,p)$ such that $C \subseteq A$, $|C|<\kappa$, and $p$ is a complete type in finitely many variables over $C$ consistent with $\operatorname{Diag}_{\mathrm{el}}(A)$. For each $(C,p) \in \mathcal{P}(A)$, choose a finite tuple of new variables $x_{(C,p)}$ of the same length as the variables of $p$, and introduce a tuple of new constant symbols $d_{(C,p)}$ of that length.
We claim that $|\mathcal{P}(A)| \leq \kappa$. Indeed, the number of subsets $C \subseteq A$ of cardinality $<\kappa$ is at most
\begin{align*}
|A|^{<\kappa} \leq \kappa^{<\kappa}=\kappa.
\end{align*}
For each such $C$, let $L_C$ denote the expansion of $L$ by a constant symbol $c_c$ for each element $c\in C$. The language $L_C$ has cardinality $<\kappa$, because
\begin{align*}
|L_C| \leq |L|+|C| < \kappa.
\end{align*}
For each fixed finite arity $n \in \mathbb{N}$, the set of $L_C$-formulas in variables $(x_1,\dots,x_n)$ has cardinality at most
\begin{align*}
\max\{|L_C|,\aleph_0\}<\kappa,
\end{align*}
where the strict inequality uses that $\kappa$ is uncountable. Hence the number of complete $n$-types over $C$ is at most
\begin{align*}
2^{<\kappa} \leq \kappa^{<\kappa}=\kappa.
\end{align*}
Taking the union over finitely many arities still gives at most $\kappa$ many types. Thus $|\mathcal{P}(A)|\leq\kappa$.
Let $L^\ast$ be the language obtained from $L_A$ by adding all constants in the tuples $d_{(C,p)}$. Then $|L^\ast|\leq\kappa$. Define the $L^\ast$-theory
\begin{align*}
\Sigma_A
:=
\operatorname{Diag}_{\mathrm{el}}(A)
\cup
\bigcup_{(C,p)\in \mathcal{P}(A)} p(d_{(C,p)}),
\end{align*}
where $p(d_{(C,p)})$ denotes the set of all formulas obtained by substituting the tuple of constants $d_{(C,p)}$ for the variables of $p$.
Every finite subset of $\Sigma_A$ is satisfiable. To see this, let $\Sigma_0 \subseteq \Sigma_A$ be finite. It uses only finitely many pairs $(C_1,p_1),\dots,(C_m,p_m)$ and finitely many formulas from each $p_j$. For each $j\in\{1,\dots,m\}$, let $\theta_j(x_j)$ be the finite conjunction of the formulas from $p_j$ appearing in $\Sigma_0$, where $x_j$ is the corresponding finite tuple of variables. Since $p_j$ is consistent with $\operatorname{Diag}_{\mathrm{el}}(A)$, there is an elementary extension of $A$ satisfying $\exists x_j\,\theta_j(x_j)$. By elementarity of $A$ in that extension, $A$ itself satisfies $\exists x_j\,\theta_j(x_j)$. Choose a tuple $b_j$ from $A$ witnessing this existential statement. Interpreting each constant tuple $d_{(C_j,p_j)}$ as $b_j$ and interpreting each $c_a$ as $a$ makes all formulas in $\Sigma_0$ true in $A$. Hence $\Sigma_0$ is satisfiable. Therefore, by the [Compactness Theorem](/page/Compactness%20Theorem) for first-order logic, $\Sigma_A$ has a model $B^\ast$.
Because $B^\ast \models \operatorname{Diag}_{\mathrm{el}}(A)$, the interpretation of the constants $c_a$ gives an elementary embedding $A \preceq B^\ast|_L$. Let $S\subseteq B^\ast|_L$ be the set consisting of the image of $A$ together with all interpretations of the constants in the tuples $d_{(C,p)}$. Then
\begin{align*}
|S| \leq |A|+|\mathcal{P}(A)|\cdot\aleph_0 \leq \kappa.
\end{align*}
The [Downward Löwenheim-Skolem Theorem](/page/Downward%20L%C3%B6wenheim-Skolem%20Theorem), applied to the $L$-structure $B^\ast|_L$ and the subset $S$, gives an elementary substructure $B \preceq B^\ast|_L$ containing $S$ and satisfying
\begin{align*}
|B| \leq \max\{|L|,|S|,\aleph_0\}\leq \kappa.
\end{align*}
Then $A \preceq B$, and by construction $B$ realizes every type indexed by $\mathcal{P}(A)$.
[guided]
The goal of this step is to enlarge a model $A$ once, without increasing its size beyond $\kappa$, so that all types over small subsets of $A$ are realized. We work in the expanded language $L_A$, which contains a constant symbol $c_a$ for each $a \in A$. The elementary diagram $\operatorname{Diag}_{\mathrm{el}}(A)$ records every first-order sentence with parameters from $A$ that is true in $A$. A model of this diagram is exactly an elementary extension of $A$, after interpreting each $c_a$ as the corresponding element.
We must first check that there are not too many types to realize. Let $\mathcal{P}(A)$ be the set of all pairs $(C,p)$ where $C \subseteq A$, $|C|<\kappa$, and $p$ is a complete type over $C$ in finitely many variables consistent with the elementary diagram of $A$. The number of possible parameter sets $C$ is bounded by
\begin{align*}
|A|^{<\kappa} \leq \kappa^{<\kappa}=\kappa.
\end{align*}
For a fixed $C$, let $L_C$ denote the expansion of $L$ by constant symbols for the elements of $C$. Then $|L_C|<\kappa$, since both $|L|$ and $|C|$ are $<\kappa$. Therefore the collection of formulas in any fixed finite tuple of variables has cardinality at most $\max\{|L_C|,\aleph_0\}<\kappa$, where the final inequality uses that $\kappa$ is uncountable. Thus the number of complete types in that arity is at most $2^{<\kappa} \leq \kappa$. Since there are only countably many finite arities and $\kappa$ is infinite, the total number of such types is at most $\kappa$. Hence $|\mathcal{P}(A)|\leq\kappa$.
For each pair $(C,p)\in\mathcal{P}(A)$, introduce a new tuple of constants $d_{(C,p)}$ of the same length as the variables of $p$. These constants are intended to name a future realization of $p$. We then form the theory
\begin{align*}
\Sigma_A
=
\operatorname{Diag}_{\mathrm{el}}(A)
\cup
\bigcup_{(C,p)\in \mathcal{P}(A)} p(d_{(C,p)}).
\end{align*}
The point of this definition is that any model of $\Sigma_A$ is an elementary extension of $A$ and contains, for each small type $p$, a named tuple realizing $p$.
We verify finite satisfiability. Let $\Sigma_0\subseteq\Sigma_A$ be finite. Only finitely many types $p_1,\dots,p_m$ occur in $\Sigma_0$, and only finitely many formulas from each type occur. For each $j\in\{1,\dots,m\}$, let $\theta_j(x_j)$ be the finite conjunction of the formulas from $p_j$ appearing in $\Sigma_0$, where $x_j$ is the corresponding finite tuple of variables. The consistency of $p_j$ with $\operatorname{Diag}_{\mathrm{el}}(A)$ means that some elementary extension of $A$ realizes every finite fragment of $p_j$, and in particular satisfies $\exists x_j\,\theta_j(x_j)$. Because $A$ is elementary in that extension, the existential sentence $\exists x_j\,\theta_j(x_j)$ already holds in $A$. Choose a tuple $b_j$ from $A$ witnessing it. Doing this for $j=1,\dots,m$ gives tuples $b_1,\dots,b_m$ in $A$ such that $A$ satisfies all finite fragments simultaneously after interpreting the corresponding new constant tuples by these witnesses. Therefore $\Sigma_0$ is satisfiable.
Since every finite subset of $\Sigma_A$ is satisfiable, the [Compactness Theorem](/page/Compactness%20Theorem) for first-order logic gives a model $B^\ast\models\Sigma_A$. This model may be too large, so we reduce its size. Let $S\subseteq B^\ast|_L$ be the set consisting of the copy of $A$ and all realizations named by the constants $d_{(C,p)}$. Since each tuple $d_{(C,p)}$ is finite and $|\mathcal{P}(A)|\leq\kappa$, we have
\begin{align*}
|S| \leq |A|+|\mathcal{P}(A)|\cdot\aleph_0 \leq \kappa.
\end{align*}
The [Downward Löwenheim-Skolem Theorem](/page/Downward%20L%C3%B6wenheim-Skolem%20Theorem) applies to the $L$-structure $B^\ast|_L$ and the subset $S$: the language has size $|L|<\kappa$, and the generating set $S$ has size at most $\kappa$. Hence there is an elementary substructure $B\preceq B^\ast|_L$ containing $S$ and satisfying
\begin{align*}
|B|\leq \max\{|L|,|S|,\aleph_0\}\leq \kappa.
\end{align*}
Because $B$ contains $A$ and is elementary in $B^\ast|_L$, we have $A\preceq B$. Because it also contains every named realization $d_{(C,p)}$, it realizes every complete type over every $C\subseteq A$ of size $<\kappa$.
[/guided]
[/step]
[step:Build a continuous elementary chain of length $\kappa$]
Define by transfinite recursion a chain $(M_\alpha)_{\alpha<\kappa}$ of $L$-structures as follows. Set $M_0:=M$. Given $M_\alpha$, let $M_{\alpha+1}$ be an elementary extension of $M_\alpha$ of cardinality at most $\kappa$ that realizes every complete type over every subset of $M_\alpha$ of cardinality $<\kappa$, as constructed in the previous step. If $\lambda<\kappa$ is a limit ordinal, define
\begin{align*}
M_\lambda := \bigcup_{\alpha<\lambda} M_\alpha.
\end{align*}
By the [Tarski-Vaught Elementary Chain Theorem](/page/Tarski-Vaught%20Elementary%20Chain%20Theorem), $M_\lambda$ is an elementary extension of every $M_\alpha$ with $\alpha<\lambda$.
We prove by induction on $\alpha<\kappa$ that $|M_\alpha|\leq\kappa$. This is true for $\alpha=0$ by hypothesis. It is true at successors by construction. At a limit ordinal $\lambda<\kappa$, regularity of $\kappa$ gives $|\lambda|<\kappa$, so
\begin{align*}
|M_\lambda|
\leq
\sum_{\alpha<\lambda}|M_\alpha|
\leq
|\lambda|\cdot\kappa
\leq
\kappa.
\end{align*}
Thus every $M_\alpha$ has cardinality at most $\kappa$.
[/step]
[step:Take the union and verify elementary extension and cardinality]
Define the $L$-structure
\begin{align*}
N := \bigcup_{\alpha<\kappa} M_\alpha.
\end{align*}
By the [Tarski-Vaught Elementary Chain Theorem](/page/Tarski-Vaught%20Elementary%20Chain%20Theorem), $M_\alpha \preceq N$ for every $\alpha<\kappa$. In particular, since $M=M_0$, we have $M\preceq N$.
The cardinality of $N$ is bounded by
\begin{align*}
|N|
\leq
\sum_{\alpha<\kappa}|M_\alpha|
\leq
\kappa\cdot\kappa
=
\kappa.
\end{align*}
Hence $N$ is an elementary extension of $M$ of cardinality at most $\kappa$.
[/step]
[step:Show that the union realizes every type over a small parameter set]
Let $A\subseteq N$ satisfy $|A|<\kappa$. Let $L(A)$ denote the expansion of $L$ by a constant symbol $c_a$ for each $a\in A$, and let $\operatorname{Th}_{L(A)}(N)$ denote the complete $L(A)$-theory of $N$ when $c_a$ is interpreted as $a$. Let $p$ be a complete type over $A$ in finitely many variables consistent with $\operatorname{Th}_{L(A)}(N)$. For each $a\in A$, choose an ordinal $\alpha_a<\kappa$ such that $a\in M_{\alpha_a}$. Define
\begin{align*}
\beta := \sup\{\alpha_a : a\in A\}.
\end{align*}
Since $|A|<\kappa$ and $\kappa$ is regular, we have $\beta<\kappa$. Then $A\subseteq M_\beta$.
Because $M_\beta\preceq N$, the type $p$ is consistent with the elementary diagram of $M_\beta$. By the construction of $M_{\beta+1}$, every complete type over every subset of $M_\beta$ of cardinality $<\kappa$ is realized in $M_{\beta+1}$. Therefore $p$ is realized in $M_{\beta+1}$, and since $M_{\beta+1}\subseteq N$, it is realized in $N$.
Thus every complete type over every subset of $N$ of cardinality $<\kappa$ in finitely many variables is realized in $N$. Hence $N$ is $\kappa$-saturated.
[/step]