The min-height in a div with an id
[see answer #1 or here: https://mediarealm.com.au/articles/google-adsense-reducing-cls-cumulative-layout-shift/ ]
helps... but still has difficulty with responsive layouts in Bootstrap.
If you use Adsense auto-ads Adsense will insert ads whereever it thinks is best and that means altering the height of these elements:
<div class="row">
which Adsense changes to
<div class="row" style="height: auto !important;">
and pagespeed also complains about CLS with
<div class="alert">
It may be possible to apply the unique ID approach to the row and alert divs in Bootstrap, (without setting a min height, since on most websites every page is different) but even if that works, that would cut into ad revenues. It seems this is Catch-22 - you can have great core vitals OR great adsense optimization, but not both. It's up to Adsense to find a solution, presumably by predicting optimal ad positions, layouts and sizes prior to rendering the page, so thereis no CLS.