This is apparently due to one or more of your Niagara assets loading before the Niagara Module loads. You might have an asset that is referencing an actor or class that has a Niagara component that is loaded at startup. If that’s the case it can cause this issue.
To see what’s causing it, run your game standalone (i.e. “Development” not “Development Editor” from visual studio) and check out the stack when it crashes at startup. In our case it was due to a TSubclassOf<> class pointer in a data asset that we load at startup that ultimately was including a Niagara system. We replaced it with a TSoftClassPtr<> instead so that it doesn’t actually load the class into memory when the data asset is loaded, preventing the issue. Everything works fine for our builds now.