Solved!! the problem was that CreateTransient does not get initialized with a source, therefore the source dimensions which are used later to set the sprite UV are read as {0,0}. the solution was to initialize the “source image” manually in the code, by calling this line after CreateTransient:
my_transient_texture->Source.Init(Width, Height, 1, 0, ETextureSourceFormat::TSF_BGRA8);
I am almost positive this is not the intended fix, but it does work!