[proofplan]
There are two assertions: a multiplicativity formula for permutation characters under products, and a corollary about the inner product as an orbit count. The multiplicativity is a fixed-point identity: a pair $(x_1, x_2)$ is fixed by $g$ iff each coordinate is, so the count factors. To deduce the inner product formula, we use that permutation characters are real-valued (fixed-point counts are integers), which lets us replace $\overline{\pi_{X_1}(g)}$ by $\pi_{X_1}(g)$ and recognise the resulting product as $\pi_{X_1 \times X_2}(g)$. Applying [Multiplicity of Trivial Character Equals Number of Orbits](/theorems/2433) to $\pi_{X_1 \times X_2}$ gives the orbit count.
[/proofplan]
[step:Show that fixed points of the diagonal action factor as a product]
Let $G$ act on the diagonal product $X_1 \times X_2$ by $g(x_1, x_2) := (gx_1, gx_2)$. By definition, $(x_1, x_2) \in X_1 \times X_2$ is fixed by $g \in G$ if and only if $g(x_1, x_2) = (x_1, x_2)$, i.e.
\begin{align*}
(gx_1, gx_2) = (x_1, x_2) \iff gx_1 = x_1 \text{ and } gx_2 = x_2.
\end{align*}
Therefore the fixed-point set of $g$ on $X_1 \times X_2$ is the Cartesian product of fixed-point sets:
\begin{align*}
\operatorname{Fix}_{X_1 \times X_2}(g) = \operatorname{Fix}_{X_1}(g) \times \operatorname{Fix}_{X_2}(g).
\end{align*}
Counting both sides (cardinalities of finite sets multiply across Cartesian product),
\begin{align*}
\pi_{X_1 \times X_2}(g) = |\operatorname{Fix}_{X_1 \times X_2}(g)| = |\operatorname{Fix}_{X_1}(g)| \cdot |\operatorname{Fix}_{X_2}(g)| = \pi_{X_1}(g) \cdot \pi_{X_2}(g).
\end{align*}
This is the multiplicativity formula $\pi_{X_1 \times X_2} = \pi_{X_1}\, \pi_{X_2}$ as class functions on $G$.
[guided]
The diagonal action acts independently on each coordinate. So a pair is fixed exactly when both coordinates are fixed. There is no interaction between the coordinates — the action does not mix them. This gives a set-theoretic identity:
\begin{align*}
\operatorname{Fix}_{X_1 \times X_2}(g) = \operatorname{Fix}_{X_1}(g) \times \operatorname{Fix}_{X_2}(g).
\end{align*}
The cardinality of a Cartesian product of finite sets is the product of cardinalities, so the fixed-point counts multiply. This passes to characters: $\pi_{X_1 \times X_2}(g) = \pi_{X_1}(g)\pi_{X_2}(g)$, which is what we wanted.
A note on what this is **not**: the tensor product of representations $\pi_{X_1} \otimes \pi_{X_2}$ has character $\chi_{\pi_{X_1}} \chi_{\pi_{X_2}}$ (multiplicativity of character on tensor products). So $\pi_{X_1 \times X_2}$ — the permutation representation on the Cartesian product — coincides at the level of characters with $\pi_{X_1} \otimes \pi_{X_2}$, the tensor product representation. In fact, $\mathbb{C}[X_1 \times X_2] \cong \mathbb{C}[X_1] \otimes \mathbb{C}[X_2]$ as $G$-representations under the diagonal action — both incarnations of the same character.
[/guided]
[/step]
[step:Identify $\langle \pi_{X_1}, \pi_{X_2} \rangle$ as $\langle \pi_{X_1 \times X_2}, 1_G \rangle$ via real-valuedness]
The permutation character $\pi_{X_1}$ is real-valued: for every $g \in G$, $\pi_{X_1}(g) = |\operatorname{Fix}_{X_1}(g)|$ is a non-negative integer, and integers are real, so $\overline{\pi_{X_1}(g)} = \pi_{X_1}(g)$.
Compute:
\begin{align*}
\langle \pi_{X_1}, \pi_{X_2} \rangle &= \frac{1}{|G|} \sum_{g \in G} \overline{\pi_{X_1}(g)}\, \pi_{X_2}(g) \\
&= \frac{1}{|G|} \sum_{g \in G} \pi_{X_1}(g)\, \pi_{X_2}(g) \\
&= \frac{1}{|G|} \sum_{g \in G} \pi_{X_1 \times X_2}(g),
\end{align*}
where the second equality uses real-valuedness of $\pi_{X_1}$ and the third uses Step 1's multiplicativity. The final expression equals $\frac{1}{|G|} \sum_{g \in G} \overline{1_G(g)}\, \pi_{X_1 \times X_2}(g) = \langle 1_G, \pi_{X_1 \times X_2} \rangle = \overline{\langle \pi_{X_1 \times X_2}, 1_G \rangle}$. Since $\pi_{X_1 \times X_2}$ is also real-valued (same argument: it is a fixed-point count), the inner product $\langle \pi_{X_1 \times X_2}, 1_G \rangle$ is real, equal to its conjugate. Hence
\begin{align*}
\langle \pi_{X_1}, \pi_{X_2} \rangle = \langle \pi_{X_1 \times X_2}, 1_G \rangle.
\end{align*}
[guided]
The inner product on class functions is sesquilinear: linear in the first slot, conjugate-linear in the second. We want to combine $\overline{\pi_{X_1}(g)}$ and $\pi_{X_2}(g)$ into the single expression $\pi_{X_1 \times X_2}(g)$ obtained from Step 1, but Step 1 gives the **product** $\pi_{X_1}(g) \pi_{X_2}(g)$, not the conjugate-times-other product.
The bridge is that permutation characters are real-valued: their values are fixed-point counts, hence non-negative integers, hence equal to their own complex conjugates. So we may freely drop bars over $\pi_{X_1}$. Applying this and Step 1's identity,
\begin{align*}
\overline{\pi_{X_1}(g)}\, \pi_{X_2}(g) = \pi_{X_1}(g)\, \pi_{X_2}(g) = \pi_{X_1 \times X_2}(g),
\end{align*}
and the inner product becomes $\frac{1}{|G|}\sum_g \pi_{X_1 \times X_2}(g)$, which is the inner product $\langle \pi_{X_1 \times X_2}, 1_G \rangle$ (after either applying the same trick to $\pi_{X_1 \times X_2}$, or noting the symmetry that real-valued characters give a real-valued inner product against the trivial character).
[/guided]
[/step]
[step:Apply the Multiplicity of Trivial Character Theorem to count orbits on $X_1 \times X_2$]
By Step 2,
\begin{align*}
\langle \pi_{X_1}, \pi_{X_2} \rangle = \langle \pi_{X_1 \times X_2}, 1_G \rangle.
\end{align*}
By [Multiplicity of Trivial Character Equals Number of Orbits](/theorems/2433) applied to the action of $G$ on the finite set $X_1 \times X_2$ (the hypothesis is finiteness of the acted-on set, which holds because $X_1$ and $X_2$ are finite by assumption), the right side equals the number of $G$-orbits on $X_1 \times X_2$. Hence
\begin{align*}
\langle \pi_{X_1}, \pi_{X_2} \rangle = \text{number of orbits of } G \text{ on } X_1 \times X_2,
\end{align*}
as claimed.
[guided]
We invoke [Multiplicity of Trivial Character Equals Number of Orbits](/theorems/2433): for any action of $G$ on a finite set $Y$, $\langle \pi_Y, 1_G \rangle$ equals the number of $G$-orbits on $Y$. We need to verify the hypothesis: the set $Y$ is finite. Here $Y = X_1 \times X_2$ is the Cartesian product of two finite sets, which is itself finite (cardinality $|X_1||X_2|$).
Applying the theorem to $Y = X_1 \times X_2$ with the diagonal action gives
\begin{align*}
\langle \pi_{X_1 \times X_2}, 1_G \rangle = (\text{number of orbits of } G \text{ on } X_1 \times X_2).
\end{align*}
Combined with Step 2's identity, this is exactly the formula in the statement.
[/guided]
[/step]