Generate scene and link to EditorScenes trouble.

Hello, i have a troubles with generating scene before build and sometimes in not imported project. I create a scene generator, which create a static configured copy of scene and link it to game before build. But sometimes when i look to scenes list i didn’t see new scene. Script added.

[MenuItem("TurboRocketGames/Assets/Pre-Build Config")]
        public static void PreBuildConfig()
        {
            Debug.LogFormat("Scenes before packing, {0}", string.Join(",", EditorBuildSettings.scenes.Select((settingsScene, i) => i + " : " + settingsScene.path)));

            CreateScene(UpdateSceneList);
        }

        private static void CreateScene(Action onComplete)
        {
            EditorSceneManager.SaveOpenScenes();
           
            var scene = EditorSceneManager.OpenScene(SCENE_MAIN_PATH);
            if (!AssetDatabase.IsValidFolder(PATH_GENERATED))
            {
                AssetDatabase.CreateFolder(FOLDER_SCENES_PATH, FOLDER_GENERATED_NAME);
            }

            EditorSceneManager.SaveScene(scene, SCENE_GENERATED_PATH, true);
            scene = EditorSceneManager.OpenScene(SCENE_GENERATED_PATH);

            var roots = scene.GetRootGameObjects();
            foreach (var root in roots)
            {
                UpdateStatic(root);
            }

            EditorSceneManager.SceneSavedCallback savedDeleg = null;
            savedDeleg = (delegate(Scene s)
            {
                EditorSceneManager.sceneSaved -= savedDeleg;

                if (s == scene)
                {
                    onComplete.Invoke();
                }
            });

            EditorSceneManager.sceneSaved += savedDeleg;
           
            EditorSceneManager.SaveScene(scene, SCENE_GENERATED_PATH);
            EditorSceneManager.SaveOpenScenes();
        }
       
        private static void UpdateSceneList()
        {
            List<EditorBuildSettingsScene> editorBuildSettingsScenes = EditorBuildSettings.scenes.ToList();
            var targetScene = editorBuildSettingsScenes[1];
            if (targetScene.path.Equals(SCENE_GENERATED_PATH) ||
                targetScene.path.Equals(SCENE_MAIN_PATH) ||
                string.IsNullOrWhiteSpace(targetScene.path))
            {
                Debug.Log("Scenes update");
                editorBuildSettingsScenes[1] = new EditorBuildSettingsScene(SCENE_GENERATED_PATH, true);
            }
            else
            {
                Debug.Log("Scenes insert");
                editorBuildSettingsScenes.Insert(1, new EditorBuildSettingsScene(SCENE_GENERATED_PATH, true));
            }
           
            EditorBuildSettings.scenes = editorBuildSettingsScenes.ToArray();
           
            Debug.LogFormat("Scenes packed in settings, {0}", string.Join(",", EditorBuildSettings.scenes.Select((settingsScene, i) => i + " : " + settingsScene.path)));
        }

That what i got in Cloud Build
89944: [Unity] Scenes packed in settings, 0 : Assets/Scenes/Preloader.unity,1 : ,2 : Assets/Scenes/Dialog.unity

Generated scene 1 is empty(((