Of course thinking about it more, the race condition still exists here for any new modes added by extensions -- we begin project loading (including opening editors) after the extension itself has loaded but potentially before its mode has...  So we should probably still leave #2962 open at a lower priority to try to come up with a more robust fix.