Durch Verwendung von `\par` setzt du einen Absatz und an Absätzen ist generell erst einmal ein Seitenumbruch erlaubt. Die Standardmethode, um in LaTeX normale Seitenumbrüche zu verbieten, lautet `\nopagebreak`. Die Anweisung besitzt auch ein optionales Argument, auf das ich nicht näher eingehe, da es in jeder ausführlichen LaTeX-Einführung erklärt ist. Damit ergibt sich:
\documentclass[fontsize=12pt,parskip=half]{scrbook}
\usepackage{cancel, siunitx, array, rotating} % Grafik, Mathematik, Brüche kürzen Einheiten, Aufzählung
\sisetup{
locale=DE,
per-mode=fraction
}
\usepackage{url}
\usepackage{graphicx}% Wird bereits von rotating geladen
\usepackage{pdfpages}
\usepackage[ngerman]{babel}
\usepackage{fontspec}
%\newfontfamily\ti{tinspire.ttf}
\usepackage{pgfplots}% Lädt tikz und damit ebenfalls graphicx
\usepackage{amsmath}
\usepackage{lualatex-math}
\usepackage[inline]{enumitem}
\usepackage[babel]{microtype}
\usepackage{tikz, xcolor} % tikz wird bereits von pgfplots geladen und lädt
% selbst xcolor
\usepackage{multicol, framed} % Textspalten, Farbe, Rahmen
\usepackage[bitstream-charter]{mathdesign}
%\usepackage[utopia]{mathdesign}
\usepackage{adjustbox}
%aus xsim-Beispiel golatex-80640.html geladene packages und Optionen
\newlength\breite
\newlength\hoehe
\usepackage{dsfont}
\usepackage[hdivide={3.0cm,\breite,},vdivide={2.2cm,,2.2cm}]{geometry}% \breite ist hier übrigens noch 0pt
\geometry{a4paper,left=15mm,right=15mm, top=20mm, bottom=20mm}% überschreibt
% die vorherigen Einstellungen teilweise,
% außerdem ist a4paper hier überflüssig.
\usepackage{needspace,tcolorbox}% lädt ebenfalls tikz
\usepackage{xsim}
\xsimsetup{
exercise/template = gitter ,
solution/template = gitter
}
\usepackage{tasks}
\settasks{
label = (\alph*) ,
label-width = 14pt
}
\newcommand*\anmerkung[1]{\par{\small(#1)\par}}
\DeclareExerciseEnvironmentTemplate{gitter}
{%
\IfInsideSolutionT{%
\tcolorbox[
detach title ,
title = Lösung: ,
before upper = {\tcbtitle\space} ,
fonttitle = \bfseries ,
fontupper = \large ,
valign = center ,
colframe = black!50!white ,
colback = black!0!white ,
coltext = blue ,
coltitle = blue ,
height = \hoehe ,
width = \breite ,
sharp corners
]
}%
}
{%
\IfInsideSolutionTF
{\endtcolorbox}
{%
\IfSolutionPrintF{%
\par% erlaubt auch einen Seitenumbruch
\nopagebreak% Standardweg, um Seitenumbrüche zu verbieten
\begin{tikzpicture}[semitransparent]
\draw[step=5mm, line width=0.09mm, black!70!white] (0,0) grid
(\breite,\hoehe);
\end{tikzpicture}
\par
}
}%
}
\xsimsetup{exercise/print=true}
\begin{document}
\begin{enumerate}
\setlength\breite{170mm}
\setlength\hoehe{30mm}
\begin{exercise}
\begin{minipage}{0.33\linewidth}
\item $27^{\frac{1}{3}}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item $49^{\frac{1}{2}}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item $1000^{\frac{1}{4}}$
\end{minipage}
\end{exercise}
\begin{exercise}
\begin{minipage}{0.33\linewidth}
\item $1^{\frac{1}{5}}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item $625^{\frac{1}{2}}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item $64^{-\frac{1}{3}}$
\end{minipage}
\end{exercise}
\begin{exercise}
\begin{minipage}{0.33\linewidth}
\item $16^{-\frac{1}{4}}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item $32^{0.2}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item $81^0$
\end{minipage}
\end{exercise}
\begin{exercise}
\begin{minipage}{0.33\linewidth}
\item $25^{-\frac{1}{2}}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item $\left( \frac{1}{4}\right)^{\frac{1}{2}}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item $\left( \frac{1}{216}\right)^{\frac{1}{3}}$
\end{minipage}
\end{exercise}
\begin{exercise}
\begin{minipage}{0.33\linewidth}
\item $\left( \frac{8}{27}\right)^{\frac{1}{3}}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item $\left( \frac{27}{8}\right)^{-\frac{1}{3}}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item $\left( \frac{1}{81}\right)^{-\frac{1}{4}}$
\end{minipage}
\end{exercise}
\begin{exercise}
\begin{minipage}{0.33\linewidth}
\item $8^{\frac{2}{3}}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item $325^{-\frac{2}{5}}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item $121^{1.5}$
\end{minipage}
\end{exercise}
\begin{exercise}
\begin{minipage}{0.33\linewidth}
\item $125^{\frac{4}{3}}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item $32^{-0.4}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item $16^{1.25}$
\end{minipage}
\end{exercise}
\begin{exercise}
\begin{minipage}{0.33\linewidth}
\item $81^{1.5}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item$16^{-0.75}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item $81^{1.75}$
\end{minipage}
\end{exercise}
\begin{exercise}
\begin{minipage}{0.33\linewidth}
\item $16^{-1.5}$
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item
\end{minipage}
\begin{minipage}{0.33\linewidth}
\item
\end{minipage}
\end{exercise}
\end{enumerate}
\end{document}
Ich habe mir erlaubt, einige weitere Dinge zu kommentieren. Außerdem sei darauf hingewiesen, dass zwischen den horizontal angeordneten `minipage`-Umgebungen bei dir jeweils ein Wortabstand (Leerzeichen) eingefügt wird. Ob das so gewünscht ist, kann ich nicht beurteilen. Falls nicht: [Was sollen die Kommentar-Zeichen (%) am Ende der Zeilen?](https://texwelt.de/fragen/16/was-sollen-die-kommentar-zeichen-am-ende-der-zeilen). Und dann sind die ganzen Kästchengrafiken noch knapp zu breit. Dadurch gibt es diverse »`overfull \hbox`«-Meldungen.
Außerdem sei darauf hingewiesen, [dass man bei Verwendung von `pgfplots` immer `compat` setzen sollte](https://texwelt.de/fragen/19163/was-bedeutet-die-kompatibilitatsangabe-compat-bei-pgfplots). `pgfplosts` gibt auch eine entsprechende Warnung aus.
Natürlich kann eines solche Lösung ihrerseits zu `overfull \vbox` oder auch `underfull \vbox` führen. Zaubern kann TeX eben nicht. Das wiederum könnte man mit `\pagebreak` mit passendem optionalen Argument (über `\@itempenatly` hinaus) oder `\fillbreak` `\filbreak` oder dem [Paket `needspace`](https://ctan.org/pkg/needspace) ggf. gezielt steuern. Auch eine Änderung von `\itemsep` (ggf. via `enumitem`-Option) kann helfen. In vielen Fällen ist es aber bei derartigen Arbeiten in der Tat sinnvoll, den Umbruch von Hand zu optimieren und einen Automatismus, wie den gezeigten oder die zusätzlich kurz erwähnten, nur als ersten Schritt zu betrachten.