I imagine there's a number of ways to do this.
Personally, I have an object which stores all the information i want to carry over between scenes (Player Health, Items, etc.) and use the action "Don't Destroy On Load". Then I can grab that information in the new scene and distribute it where it's needed.
In terms of level configuration, it really depends what your doing in your level... If a level is only ever going to be configured in one way, then it makes sense to store that information in the scene itself... If you wanted the scene to change based on variables from a previous scene, you would store that information, bring it over to the new scene, and have checks in place on your level configuration object as to what configuration to do.
For example:
Player selects a difficulty, Easy (1) Normal (2) Hard (3). the selection is stored as an integer value on an object, which isn't destroyed when a new scene loads.
Your Level configuration grabs that variable, and runs an "Int Compare".
If Int = 1, set timer to 2mins
If Int = 2, set timer to 1min
If Int = 3, set timer to 30sec
This way you can setup multiple difficulties controlled by a single prefab rather than having duplicate scenes with different level configurations