There is some problem with playhead in the timeline. When you play your timeline it stops playing one frame to early. After that you might accidentaly add new clip and lose last frame of previous clip (it moves to the end). Is there any way to change it in settings or is it a bug?
It stops at the last frame of the last clip in the timeline. That is so that you see what the last frame is.
If you then use V to insert the clip selected in the bin, it is indeed inserted before the last frame because the playhead sits “in front” of the last frame.
In order to position the playhead at the end of the timeline (i.e. behind the last frame), use Ctrl+End. When playback stops at the end of the project, press the right_arrow key to move the playhead one frame to the right, i.e. behind the last frame of the last clip).
AFAIK, all video editor software behaves that way.