Con el siguiente código, en Divi podremos pasar de esto:

Sin titulo
Captura de pantalla 2024 06 07 173444
.flex-viewport {
    max-width: 80%;
    float: right;
}
        .flex-control-thumbs.active {
            cursor: grabbing;
            cursor: -webkit-grabbing;
        }
.woocommerce div.product div.images .flex-control-thumbs {
    margin-top: 0%;
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0px;
    left: 0px !important;
    width: 65%;
    max-height: 300px;
    overflow-y: auto;
    align-items: flex-end;
    direction: rtl;
}
.pswp__bg {
    background: #00000059 !important;
}

.woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar {
    width: 4px;
}

Y este código Script

<--script type="text/javascript"-->
        document.addEventListener('DOMContentLoaded', function() {
            const thumbContainer = document.querySelector('.flex-control-thumbs');
            let isDown = false;
            let startY;
            let scrollTop;

            thumbContainer.addEventListener('mousedown', (e) => {
                isDown = true;
                thumbContainer.classList.add('active');
                startY = e.pageY - thumbContainer.offsetTop;
                scrollTop = thumbContainer.scrollTop;
            });

            thumbContainer.addEventListener('mouseleave', () => {
                isDown = false;
                thumbContainer.classList.remove('active');
            });

            thumbContainer.addEventListener('mouseup', () => {
                isDown = false;
                thumbContainer.classList.remove('active');
            });

            thumbContainer.addEventListener('mousemove', (e) => {
                if (!isDown) return;
                e.preventDefault();
                const y = e.pageY - thumbContainer.offsetTop;
                const walk = (y - startY) * 2; // Ajusta la velocidad del desplazamiento
                thumbContainer.scrollTop = scrollTop - walk;
            });
        });
    <--/script-->