Заклинивающая позиция происходит из-за родительского div (.col-3), потому что у него есть свойство display flex, при этом высота становится равной div (col-9).
Короче:
<div style="display: flex;">
<div class="1"></div>
<div class="2" style="height="500px;"></div>
</div>
Теперь в приведенном выше HTML классе div 1 также присваивается высота = класс div 2 (500px).
Любой элемент (position: sticky) внутри класса div 1 является липким на следующие 500 пикселей.
Если какой-либо элемент является липким, он также имеет такую же высоту родительского элемента.