I've added a sprite, added a label with resizeHeight as overflow option, anchored to the sprite on all sides except the bottom.
One would think that the vertical position would then be fixed to however I set it. However, if I add text to it in Start() of an attached script, the vertical position is all wrong. If I then select it in the editor and add/remove text, the position moves towards the position I set the top to in the editor.
The hackaround is to add a for loop that adds and removes a space at the end of the text 10 times, and then enables the gameobject.