Сложно что либо посоветовать, что гарантированно сработает. Тут дело больше не в твоих ошибках, а в особенностях рендера у браузера, возможно ему чего-то не хватает, например буфера памяти на рендер. Попробуй изменить подход к анимации.
Оптимизируй. Вот ты пытаешься двигать весь контент, а ты двигай только отдельные секции, ту что надо убрать, и ту что надо показать, все остальное не движется и находится где-то за экраном.
Или двигай исключительно на js, на каждой итерации устанавливай положение, естественно перед этим удали из css свойства translate.
Или совмести оба варианта.