Hi Gordon,
(As you know, but others don't, all versions of VASSAL use the same preference file, V_Global, and all version of VASL use the same preference file, VASL. VASSAL Launcher lets you have and switch between multiple copies of those. The process I describe here makes sure that the correct versions have written their preferences before VASSAL Launcher copies them.)
First, run VASSAL. Run VASSAL Launcher. In VASSAL Launcher, select "New VASSAL" and select the directory VASSAL is installed in. (On my WIndows box, it's "C:\Program Files\VASSAL-3.7.16".) That will tell VASSAL Launcher about that version of VASSAL and also it will copy the V_Global file. (You can watch VASSAL Launcher doing its work by watching it create files and directories in your AppData\Roaming\VASSAL\prefs\VASSALLauncher folder.)
You need to do this for every VASSAL version you will use. If you want, after you're no longer using them, you can delete old VASSAL versions from VASSAL Launcher's list (but not from your system) with "Delete VASSAL".
For each version of VASL, first run it in VASSAL, change its preferences to how you want them, and set up the extensions as you want (changing the extensions is optional as you can do that in VASSAL Launcher). Then select "New Config" in VASSAL Launcher (VL for short) and create a configuration that uses that .vmod file. When you make the configuration, VL copies the VASL preference file and the extension directory set in it (VASL's File->Preferences->Extensions "Extensions Directory" field) to its own copy.
Should I create 2 extension directories for the pre/post separation I mentioned above?
You can but you don't need to because VL maintains its own copy of the extension directory for each configuration, and lets you edit them independantly. When you "Start Config" (or "Start a File" or open a game file with VL from Explorer), VL copies its copies of V_Global, the module's preference file (VASL), and the extension directory tree, all to where VASSAL and the module expect to find them before it starts VASSAL. "Make Default" also does this copying, but doesn't start VASSAL.
VL will let you activate, inactivate, add, and delete a configuration's extensions. It does this by manipulating its copy of the extension directory tree, which it later copies when you start that configuration.
Do I keep all the different VASL vmods in my main VASSAL folder as before?
The .vmod files can be anywhere, and they can be for any game, not just VASL. When you create a new config, you will tell VL which .vmod file to use.
Do I create separate saved game folders or simply keep separate sub-directories of the saved game folder?
To use all of VL's power, you will want to have multiple folders and/or subfolders. This is because, if you use "Start a File" in VL, or "Open with" VL when you right-click on a .vsav or .vlog file in Explorer, VL uses the file's directory to figure out which config to use.
For example, you might put all your SASL campaign games in "Saved Games\My SASL", creat a VL configuration called "My SASL campaign" with a start directory "Saved Games\My SASL" (actually something like "C:\Users\Gordon\Saved Games\My SASL"). You might put all your SASL games with your son in "Saved Games\son", and create another configuration that uses that start directory. And possibly multiple directories for the SVG development, broken down by the combination of VASSAL version, .vmod file, and extensions.
Think of a configuration as a snapshot of "which VASSAL version + VASSAL preferences + which .vmod file + module preferences + extension directory contents". VL does all the work needed to run a snapshot. (As a side effect, if you run VASSAL independantly, you'll run the snapshot.)
To keep VL up-to-date as you change things in VASSAL or a module,
- if you add a module to VASSAL, or change VASSAL's preferences, use "New VASSAL" in VL and add that version of VASSAL again. VL won't duplicate it, VL will simply overwrite its copy of V_Global.
- if you start a config in VL, then change the preferences, use "Update Config" in VL to make VL copy the changed preference file to its copy.
For reference, my VL setup looks like this
Each line should be easy to figure out: game name, .vmod filename, name of the configuration, which VASSAL version it uses, and the start directory.
And to show you behind the curtain, my AppData\Roaming\VASSAL\prefs\VASSALLauncher folder looks like this:

You can see the copy of V_Global that VL keeps, as well as the multiple copies of the VASL preference file "VASL" and the multiple copies ot the extension directories.
I hope this helps.