VLC and mpv literally use the same underlying codec library. (As well as ffmpeg.)
Seeking is surprisingly difficult. Many container formats don't support it at all, because they don't have indexes, and so it's easy to mess up playback or lose A/V sync by trying it. Constructing the index is about as hard as decoding the entire file too.
[1] https://github.com/mpv-player/mpv/wiki/libavformat-mkv-check...