UMaterialInstanceDynamic::Create is wrong!

I wanna make multi pass render in SkeletalMesh.
so I wanna add new UMaterialInstanceDynamic Instance to add some FSectionElementInfo into DynamicElementsSection.(FSkeletalMeshSceneProxy::GetDynamicMeshElements)

for (int32 i = 0; i < 10; ++i)
{
  UMaterialInstanceDynamic* MatInstance = UMaterialInstanceDynamic::Create(Mat, nullptr);
  MaterialsInstances_GameThread.Emplace(MatInstance);
}
for (int32 i = 0; i < MaterialsInstances_GameThread.Num() ; ++i)
{
UMaterialInstanceDynamic* MatInstance = MaterialsInstances_GameThread[i];
FSectionElementInfo SecondPassInfo(MatInstance, false, SectionElementInfo.UseMaterialIndex);
GetDynamicElementsSection(Views, ViewFamily, VisibilityMap, LODData, LODIndex, SectionIndex, bSectionSelected, SecondPassInfo, bInSelectable, Collector);
}

But!!!
UMaterialInstanceDynamic* MatInstance = UMaterialInstanceDynamic::Create(Mat, nullptr);
did not work well.
for example: Mat is translucent blendmode , but MatInstance is opaque.
Why did it happen? I am so confused.