Start is always called before the first Update (hence why it is called start). You can even test if for yourself by putting in Debug.Log(“This is start”) and Debug.Log(“This is update”) in each function.
Well Start won’t necessarily complete before the first Update, if Start is a coroutine, only the code before the yield will execute before Update, then Update, then Update again, then whatever comes after the yield. Thereafter the code will continue to run after Update.