Start gets called after all Awake’s have been called. So you may want to do it like that. One other way, as you mentioned, is to do a one-time function call from Update, as Update will be run after all Start’s finished.
You could also have a “LastStartCall” script attached to an empty game object and increase its index in the execution order such that it will be executed last. This Start would then be called after all other Start’s.