I run 6 virtual desktops and I keep one reserved for a konsole instance (actually on all desktops) and libreoffice.
When starting libreoffice it would always start with the desired width. However, there was always about a quarter to half inch gap between the window border and the top of the display. If I extended it to reach the top, and restarted it would always comeback to the original way with the gap. The bottom is at the top of the systray.
To solve this, I moved the whole window to the top of the display. There was a gap at the bottom, so I extended it to the systray to remove the gap. On restart, everything remained as I wanted.