BhanuSingh's post in Making the animation complete in 20% of the last animation in the timeline was marked as the answer
I was able to resolve if by adding duration.
zoomData.slice(1).forEach(data => {
if(data.steps) {
tl.zoom(".location_island", {
scale: data.scale,
origin: data.origin,
ease: "power1.inOut",
});
tl.addLabel( data.label , "<");
data.steps.forEach( step => {
if(step.type == 'out') {
tl.fromTo(step.el,
{
autoAlpha: 1,
display: 'block',
},
{
autoAlpha: 0,
display: 'none',
ease: "power1.inOut",
duration: 0.2,
},
data.label + "-=10%"
)
}
if(step.type == 'in') {
tl.fromTo(step.el,
{
autoAlpha: 0,
display: 'none',
},
{
autoAlpha: 1,
display: 'block',
ease: "power1.inOut"
},
data.label + "+=20%"
)
}
})
}
else {
tl.zoom(".location_island", {
scale: data.scale,
origin: data.origin,
ease: "power1.inOut"
})
}
});
});