If the duration was printed before the tween was actually created, then wouldn’t you get an error or undefined rather than printing a zero? If I move the console.log line above the tween creation I get ‘tween is not defined’.
The same thing happens if you make a tween manually with the Phaser.Tweens.Tween() class. I wonder if there’s a reason it’s done this way in Phaser. I’ll just find a workaround in the meantime.