Sequencer Replaces Skeletal Mesh Material

I am seeing some behavior with some of the sequences in our project that I cant find an explanation for.

When a user attaches a material instance to a skeletal mesh and opens a level sequence which uses that mesh, all materials will be replaced with a new dynamic material instance named MaterialInstanceDynamic_#.

I believe this is an intended behavior to allow material instance property animation, however I have not found any documentation or source code that explains the situations where this occurs. It seems to only occur with certain meshes/sequences and does not seem to be consistent. I have attempted to reproduce this behavior with a simple sequence (the ones displaying this behavior are fairly complex, having multiple anim tracks with complex assets) but have been unable to figure out exactly how this functionality works.

Any explanation or links to documentation or source files that can explain this behavior would be much appreciated.