floatrow settings seem to break xltabular but only in certain cases. If all columns have X, it will work with no problem. Also note that tabularx is not impacted.
Consider the following MWE:
\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{tabularx}
\usepackage{xltabular}
\usepackage{floatrow}
\usepackage{booktabs}
\floatsetup[table]{font = small, capposition = top}
\begin{document}
\begin{xltabular}{\linewidth}{|ccX|}
\caption{Not correct.} \
\toprule
1 & 2 & 3 \
\bottomrule
\end{xltabular}
\begin{xltabular}{\linewidth}{|ccX|}
\caption{Not correct either.} \
\toprule
1 longer text & 2 emmm & 3 \
\bottomrule
\end{xltabular}
\begin{xltabular}{\linewidth}{|XXX|}
\caption{But this works.} \
\toprule
1 longer text & 2 emmm & 3 \
\bottomrule
\end{xltabular}
\null
\begin{table}[h]
\caption{No problem for \texttt{tabularx}.}
\begin{tabularx}{\linewidth}{|ccX|}
\toprule
1 longer text & 2 emmm & 3 \
\bottomrule
\end{tabularx}
\end{table}
\end{document}

