I think I may have found a way to do this by using tweens within divs stacked on top of each other and by showing and hiding the loop tween div with a blank tween underneath a bit like this (not sure if this is the best approach (?) but it seems to work:
timeline
//Hide loop
.set("#js-animation-loop", {
opacity: 0
})
//Init Tween BG position
.set("#js-animation", {
backgroundPosition: "0px 0px"
})
//Play Tween 1
.add(tween1)
//Show loop
.set("#js-animation-loop", {
opacity: 1
})
//Init Tween BG position
.set("#js-animation", {
backgroundPosition: "0px 0px"
})
//Play Blank Tween
.add(tweenBlank)
//Hide loop
.set("#js-animation-loop", {
opacity: 0
})
//Init Tween BG position
.set("#js-animation", {
backgroundPosition: "0px 0px"
})
//Play Tween 2
.add(tween2);