Here is why there is a difference between Director and Storyboard.
When Lua “require”'s a module, the main chunk is executed once and only once until the module is unloaded completely. This is a very important feature as it’s how modules retain their data and state throughout your app. Both Directory and storyboard behave this way. The difference is when Director does a complete unload after it changes the scene. That it is does an un-require on the scene so the next it it loads it, you get a fresh start.
Storyboard treats scenes a bit differently in that it want’s to keep the scene required and manage it’s assets as memory dictates. When you leave a scene and it gets purged (either by you purging it using storyboard.purgeScene() or storyboard.purgeAll() or by the system running low on memory) it just removes assets, it does not un-require the scene.
That is what… storyboard.removeScene() does. It un-requires the scene. If you use removeScene() then your main chunk will re-load from scratch each time.
But this creates extra load on the app to have to dump and reload the scene every time. You are better off initializing variables in createScene or enterScene where appropriate.