There are a few ideas floating, but generally speaking - yes, the server has to create a few versions during conversion. Perhaps just 480p/720p/1080p is enough in most cases. We used to have to create multiple formats as well, but lately most browsers settled on MP4 for good, so we can drop that practice.
It is possible to setup an external video processing service to handle this.
As for playback, Plyr is just an HTML5 player, so it would play in all modern browsers.
Playing an MP4 without conversion is possible in theory but not generally done. The catch is that apart from format and size a video has other properties like bitrate, protection, extension, compression algorithm, etc. It is not “safe” to rely on uploaded media original for reliable playback. The file can still be unplayable or too large for its length even if it’s an mp4. That’s the reason you see YouTube converting any source file.
About the only way to playback without conversion is when you control recording. For example in Messenger video recording is done in a format set by server, so we can play it as soon as it’s uploaded.