>>798の描き方と
>>799の正規表現の描き方、両方ともエラーが消えたのですが、
Scene4 から始まって Scene7 になってもBGMオブジェクトは消えませんでした。

private void Awake()
{
    Debug.Log("Awake()関数が呼ばれた");//シーン遷移時にAwake()関数が呼ばれているか調べる

if (System.Text.RegularExpressions.Regex.IsMatch(SceneManager.GetActiveScene().name, @"Scene(4|5|6)"))
{
DontDestroyOnLoad(gameObject);//Scene4のBGMオブジェクトを次のシーンへ引き継ぐ

}
else
{
Destroy(gameObject);
}
}

Awake()関数は Scene4 で一回呼ばれただけで、Scene5 以降、シーンが変わっても呼ばれないことが分かりました。
なので  Scene7 以降も BGMオブジェクトは消えなかったです。

教えていただいてコードの描き方は分かったのですが、この方法では無理だったみたいです。
また別の方法を考えないといけないのですが、いいアイデアはないでしょうか?