Prologue
It’s all a kind of trade-off between best-possible quality vs. best-possible compatibility (which include storage efficiency).
You can create files from your discs, targeting to maintain their original quality (e.g. using MakeMKV). That will give you the same quality the files were stored on that disc.
If you want to avoid/limit transcoding or storage capacity is an issue, you might want to subsequently optimize the files.
When it comes to DVD source material, this can be beneficial for 2 reasons:
- DVD material is using an age-old codec (mostly MPEG2… theoretically even MPEG1). That material is stored very inefficiently (from today’s viewing point) – re-encoding/transcoding it to a modern format (e.g. h264 or h265) will significantly reduce the required storage
- Less and less players directly support playback of that old codecs – so by re-encoding/transcoding it, you reduce the need for your Plex Media Server to pre-digest the video for those clients
With Blu-Ray sourced materials it’s slightly different. Blu-Rays already use a modern codec (mostly h264)… reasons for transcoding will likely be:
- Blu-Ray videos provide great quality but in consequence also need a lot of space… if storage is an issue, you might want to optimize the video to a lower bitrate to provide a better quality/disc space ratio
- Some (few) players have restrictions as for the quality of material they can play – e.g. there’s TVs that only play media up to a certain bitrate – if you want to avoid transcoding, you might want to optimize the videos to a lower bitrate upfront
- If you have a weak network, reducing the bitrate can help getting the videos through the available bandwidth (this is mainly true for flaky WIFIs which by name have a great bandwidth but in reality are impacted by tons of factors)
- Some players cannot deal with certain elements of Blu-Ray materials – this can range from certain audio codecs (mostly DTS) or subtitles (PGS image based subtitles) – so you can remove the “hurdle” of this causing a transcode by converting those parts of your movies upfront.
https://support.plex.tv/articles/201358273-converting-iso-video-ts-and-other-disk-image-formats/
As for your questions…
1. I am unclear as to how and when transcoding happens
When you trigger a playback, your Plex Media Server will check what formats/codecs the client/player can deal with and compare that to the media characteristics of your file. If things match, Plex will provide the video/audio/subtitle components as-is to your player… no transcoding is going to happen.
If there’s a mismatch, Plex will try to transcode that material to meet the requirements of the client. This means the Plex Media Server will transcode the media to provide it to the client/player in a way it can deal with.
https://support.plex.tv/articles/200250377-transcoding-media/
2. Are there different ways to upload movies to the server for better playback?
There’s no differences in how to upload the files. It’s all up to how you prepare your files before uploading them (see “prologue”).
3. Does the NAS device transcode the movie when it is being ripped?
No… the NAS device will do nothing to your files. It’ll just store them.
Plex will do the transcoding “just in time” and whenever it is needed.
Plex has an option to “optimize” files – however that’ll give you multiple versions of the same video.
4. How does plex plus help in transcoding and better performance?
I suppose you’re referring to a “Plex Pass” membership? If you have an active Plex Pass, this will allow you to use “Hardware Accelerated Streaming”.
Usually, all transcoding is happening through software and therefore using the CPU of your device. If the device running your Plex Media Server has a CPUs with a compatible integrated graphics card or a supported dedicated graphics card it can delegate the job of transcoding a video to that GPU instead. This will reduce the load of your CPU.
https://support.plex.tv/articles/115002178853-using-hardware-accelerated-streaming/?_ga=2.86843037.463810497.1584471896-1501374894.1483747943
5. What is the relation between transcoding and direct play?
Direct play = media being played as-is
Direct stream = Plex is putting the media streams as-is in a new container (re-muxing); this can be required if the playback device can deal with all the media content but doesn’t know/support the file format (e.g. MKV). Re-muxing has very little impact on your CPU
Transcoding = well… see “prologue” section 
https://support.plex.tv/articles/200250387-streaming-media-direct-play-and-direct-stream/
6. Basically I am purchasing a NAS unit to provide the best storage and playback experience and performance for plex. I am thinking that transcoding has a big part of this
You’re right. In the end it comes down to your preferences and media-quality strategy. And of course there’s the consideration of what devices you’re planning to stream your media to:
- if you plan to stream mostly through a browser – expect much transcoding
- if you plan to stream mostly to Desktop players / Plex Media Player or dedicated streaming boxes such as Nvidia SHIELD, Apple TV or newer Roku models, there should be much less need for transcoding
- if you plan to stream mostly to smart TVs – expect more transcoding
- if you plan to stream to older set top boxes or built-in Android TV apps – there’ll be some need for transcoding
Long story short… you have a lot of that in your own hands. By spending some time into planning this, you can actively contribute to improve your future Plex experience 
If you foresee the need of transcoding, you can
- consider buying a Plex Pass and a device that’s capable to support hardware transcoding (see the reference list in the “NAS Compatibility List” article)
- spend some extra time in preparing your media by transcoding it before adding it to Plex to a format that’ll suit your playback devices – e.g. using Handbrake
Edit:
added some links and fixed a typo