Answering my own question until someone smarter can tell me why this is a bad idea.
Seems like this behavior is driven by the following block in DefaultGame.ini :
[StartupActions]
bAddPacks=True
InsertPack=(PackSource=“StarterContent.upack”,PackName=“StarterContent”)
I’d think this would only add the starter content if it’s missing (or the first time), so I don’t know why it’d copy the file from the base engine every single time the editor launches. Furthermore the copy itself did not seem to take too long (a few seconds) but it seemed like after the copy finished unreal’s revision control then had to go through every file and check the file status and that may have been what was taking several minutes. I’m not sure because I don’t know what I’m talking about, and the log does not contain anything about the revision control – only reason I suspect this is because after the file copies finished logging, the launch popup was still stuck on one of the startercontent files for several minutes while a “Updating file(s) revision control status” popup repeatedly came up and disappeared several times.
After I commented out the StartupActions, the redundant file copy behavior went away, and the editor open went from taking several minutes to about 15seconds.
The project while using UE 5.3 had the exact same DefaultGame.ini and never had this problem, so I’m not sure if this is a user-error or a 5.4 bug. And as far as I’m aware that startup block was automatically added by unreal when I initially started the project a couple years ago so I initially hadn’t thought to touch it.
Hopefully someone more knowledgeable can chime in with some insights.