Why does AppDomain.CurrentDomain.GetAssemblies() not return dependant assemblies in Global.asax under certain conditions?

EDIT: This was previously entitled “App Init behaviour different between IIS Restart and Application Initialisation”. I have changed the title to expand the question out from IIS/Application Initialisation because the observed behaviour relates to AppDomain.CurrentDomain.GetAssemblies();

Getting related entities ASP.NET WebApi OData v4 results in “No HTTP resource was found that matches the request URI”

I followed this asp.net tutorial by Mike Wasson, and managed to set up the related entities just fine, but when I applied this logic to my project the more complex entity relations (in that there are more of them; that’s the only difference) wouldn’t succeed in an OData call, I got a 404 with this payload: