This is due to Virtual Shadow Maps. Shadow data is cached, and only updated when certain events invalidate the cache. If the cache is not invalidated by the material change along, you will need to force an invalidation somehow.
This may require changing the objects mobility if it is set to static.
This is because normally a static objects shadow never changes and never needs to be invalidated, until the light itself moves.
Dynamic objects, like characters or meshes using WPO on the other hand invalidate the cache every frame.
You can also disable VSM and switch to CSM to get the same behavior as in UE4.