DontDestroyOnLoadを使用しBGM制御用スクリプトを作りました
シーン遷移時にBGMが途切れないようにしたり特定のシーンのみ別BGMにするためのスクリプトです
BGMの切り替え自体はうまくいったのでシーン遷移時のボタン音もこのスクリプトで鳴らすことにしました

private void OnActiveSceneChanged(Scene prevScene, Scene nextScene)
{
// シーン遷移時にボタン音を鳴らす
audioSource.PlayOneShot(buttonSE);

// 遷移先シーン名をチェック
if (nextScene.name == "StageSelectScene") { BgmNo = 1; }
else if (nextScene.name == "HowToPlay") { BgmNo = 1; }
else if (nextScene.name == "GameScene") { BgmNo = 2; }
else { BgmNo = 1; }

if (BgmNo != nowPlayBgm)
{
ChangeBGM();
}
}