Because VLC is a completely different Application in how it works than Plex.
Plex is, first and foremost, a Client-Server Application. Without a Server, you won't be able to play something. VLC on the other hand is a complete standalone player which has to play (almost) everything that you throw at it. VLC also has network discovery so that you can actually play content from a network share.
That is another difference, for Plex, you don't need a network share because the data is directly coming from your Plex server. VLC, on the other hand, will always need direct file access.
Plex itself also relies on the client device to provide the necessary compatibility to play the content you want to play. When something isn't playable, Plex will have to make it playable by converting (transcoding) it. the higher the quality of the content, the more processing power you need.
For example, according to Plex itself, you need a CPU with 2000 PassMark Points to transcode a single 1080p video stream. A 4K HDR stream requires 17000 PassMark Points.
VLC cannot allow to not be able to play something on its own because if a player cannot play something, is it really a good player? However, with Plex, since it has the Server infrastructure in the back, it can allow itself to not bundle every possible compatibility in each client on every platform because if something isn't playable, as said above, the server will make it playable.
So, Plex most likely had to transcode your file into a compatible format and your server is most likely not strong enough to do that in an adequate timeframe. VLC didn't need to do that and only needed to work over the WLAN to create a buffer of the data.