Кажется нашел в чем проблема, я пробовал другой код, там была такая же проблема с запуском видео. Проблема в том что видео большое и выходит за пределами блока, хоть он и скрыт через css, но код определяет сам размер видео судя по всему.
https://i.ibb.co/6HdzY69/vid.png
В вашем коде наверное такая же проблема, можете пжл переделать его, сделать наверное для класса и видео отдельный код или как то по другому на ваше усмотрения. С меня советник по JS так себе! Может можно сделать что б сработал когда сам блок будет в поле зрения, не учитывая ту часть видео которое выходит за пределами.
Вот сам html блока если нужен:
<div class="site--image---video">
<img src="images/01.jpg" alt="Image 01">
<video class="site--video" controls muted loop>
<source src="images/video.mp4" type="video/mp4">
</video>
</div>