I would say that the position of the sprite on the render texture is added to the "render sprite" position to give the final sprite position.
You can position a sprite using its centre by setting the origin to its
local centre. Afterwards, all rotations will rotate around its centre and the centre of the sprite will be at the position to which you set the sprite.
So, if your sprite is 30x40, set its origin to 15,20 - its centre.
Then, if you want the top-left to be at 100,100 you can set its position (of its centre) to 115,120.
Your render texture only needs to be as big as the largest sprite rotated so pick the biggest one and double it (to cover some shader bleed as well) and then re-use it for every sprite (don't resize it). Assume that this 30x40 sprite is the biggest - render texture would be 60x80.
Set position of the sprite (the centre, remember?) on render texture to (30,40) - the render texture's centre.
Rotate (around centre) as necessary.
Draw sprite on render texture using shader.
"Render sprite" is the sprite you use to draw the render texture to the window...
Set the render sprite's origin to its centre - 30,40.
Now, set the render sprite's position to the position on the window you would have put the centre of the sprite!
Draw render texture using other shader.
It's more complicated if you can't, for some reason, position the sprite using its centre...
Something you should know is that to apply a shader to an entire window, you need to draw to a full-sized render texture first and then draw that render texture to the window using that (post-processing?) shader.