You should try doing Probability Calibration. Training a model is much like optimizing a transformation:
\begin{align}
f: X\rightarrow\hat{p}
\end{align}
Where X is an input vector and p̂ are the predicted probabilities (e.g. [0.20, 0.8] in a binary classification problem). But the thing is p̂ only acts as an actual probability when your model is well-calibrated.
Let's say you have pictures of cats and dogs (0 for cats and 1 for dogs) and let's also create prediction bins for different probabilities: [0.0, 0.33, 0.67, 1.0]. For a well-calibrated model, you'd expect to find 100% pictures of cats in the [0.0] bin and the same for dogs in the [1.0] bin. For the [0.33] bin, you'd expected to find 2/3 of cats and 1/3 dogs and the other way around for the [0.67] bin. If you were to find, say 9/10 cats and 1/10 dogs in the [0.33] bin then it would mean that your model is poorly calibrated.
You'll probably find a clearer explanation of it on YouTube. Overall I'd say thay you should definitely check the models's calibration curves before calibration, see if they improve after calibration and then use a binary metric of your choice (AUC, F1, etc.) to evaluate their generalization.