Sprite material and Source texture runtime update

I wonder about the following default functionality in UE4.
We have a Paper2D Sprite object. It has an input “Source Texture” and a material.
Now, the material also has a sampler called Sprite Texture Sampler so it should be possible to use another texture input than the one defined in the Source Texture slot. But that doesn’t work as this specific sampler (at least based from the comment on the node) always grabs the texture in the Source Texture.
So what I tried was to replace that Sprite sampler with regular Texture Sampler which would replace the Source Texture with the one assigned to the material. But that doesn’t work. It also doesn’t work in runtime via Dynamic material instance. The texture source gets replaced on the material but the sprite totally ignores that uniform.
Also, looking at the UE4 UPaperSprite class in C++ I can see that all the properties related to Source Texture setup are wrapped with WITH_EDITOR_ONLY_DATA ,which means we can’t access those in runtime.
So based on all the above I have 2 questions to the Epic:

  1. Why no to make it possible to assign a texture via material?
  2. Why not to expose texture source assignment in runtime?

I see here a couple of posts where people extend UPaperSprite just to be able to access those properties, which gives them nothing as it won’t work in a non editor build. And I don’t see it makes sense to copy paste the whole UPaperSprite impl into new type and remove those macros just in order to get access to the source texture.
Sprites are very convenient to present 2D surfaces in 3D space and their content replacement is a very common use cases. It would be nice if the Epic could fix that limitation in the next versions.

Thanks.