Datasmith Runtime, Some materials don't have Materials when are imported

In editor, materials can always be generated while at runtime some functionalities are not available and the importer will instead try to fill predefined materials.
Due to this limitation you are not guaranteed to have good materials at runtime.

You could some materials in your application to replace the generated one with your predefined ones. That is a limited solution as it expects you to know what type of material will be needed at runtime and have some rule base method to replace materials.