Definition of expr should be taken from OP.
This depends on choosing correct extension for factorization.
The additional extension ext was discovered by solving one of the surds appearing in expr (except obvious Sqrt[2]).
Solve[5 - 2 Sqrt[2] + (3 - 2 Sqrt[2]) U^2 == 0] //
RootReduce // ToRadicals
ext = {Sqrt[7 + 4 Sqrt[2]], I};
Cases[expr, Sqrt[___] | Power[___, -1/2 | 1/2], All] // Union;
FactorTerms@% /. Sqrt[x_] :> Sqrt[Factor[x, Extension -> {Sqrt[2]}]];
% /. x : Sqrt[_] :> FullSimplify[x, U \[Element] Reals];
expr /. Thread[%%% -> %];
% /. {Sqrt[x___] :> Sqrt@Factor[x, Extension -> ext],
Power[x___, y : 1/2 | -1/2] :> Factor[x, Extension -> ext]^y} //
Cancel // FullSimplify;
Factor[%, Extension -> ext] // FullSimplify

