UnityでTime.timeScaleに依らないWaitForSecondsを使いたい場合は、WaitForSecondsRealtimeというのが使えるそうです。
使い方はWaitForSecondsと同じ。
IEnumerator Example()
{
Debug.Log("start");
yield return new WaitForSecondsRealtime(5.0f);
Debug.Log("end");
}
Time.realtimeSinceStartup使って自分で実装する手間は必要ないみたいです。
リンク
Unity – Scripting API: WaitForSecondsRealtime
https://docs.unity3d.com/ScriptReference/WaitForSecondsRealtime.html