@ralf3u my comment [above](https://github.com/geany/geany/issues/3666#issuecomment-1788533664) is post Geany 2.0 release, so it would have been what was used.
The issue has been explained:
1. wrapping lots of text is slow 2. so its performed in background whilst allowing display to continue, including scrolling to the cursor position, so it does not appear that the paste didn't happen 3. but when wrapping is complete it can change the display since wrapped lines on screen can occupy more space, pushing the cursor off screen
There is no good "solution" to this, wrapping is always going to be slow, so freeze the display until it finishes? Pretty much unacceptable I would have said. Scrolling after wrapping is an issue since there is no way of knowing if a scroll position is set by the system or the user, and positions set by users must not be changed by the system.
If the cursor is off-screen and you want it back, just move it one position left or right.