Yes, to answer your question on “is there documentation on how current images are created” the direct answer is no.
There is no build system currently in place to create an ERPNext VM. (Someone can please correct me if this is wrong). I believe that the VM on the website is manually created. Someone does a base install of Ubuntu and then runs the easy install script (which you have used previously based on your previous threads). Then the VM is exported and hosted on the website for others to download.
These days, I myself no longer use the easy install method because there’s usually some problem unfortunately. I follow the steps listed at Guide: Manual Install ERPNext on Ubuntu 16.xx & Debian v8 & 9 and have found them to work well.
As for using custom apps, I hope I have not discouraged you from contributing. Based on the scenario you described, your 22k investment sounds like a perfect scenario for an app, while the other investments can hopefully be contributed back.
Overall, in terms of infrastructure and workflow, I think you’re approaching things the wrong way.
Keep separate development and production VMs, I have found that having two VMs work well. I just have to coordinate to ensure that they are in sync (i.e. run bench update at the same time for both, after proper testing in a sandbox and taking backups of course!). Even after you go-live, keep two VMs because one can be a staging/testing environment for updates and training. You also want your production system to run supervisor, nginx, and be in production mode, whereas you want your development machine to most likely be in development mode for debugging.
I highly recommend you select a cloud infrastructure provider like Google Compute or AWS, setup a new ERPNext instance, and then do the production configuration from scratch. It’s a one-time pain, but hopefully will prevent problems from happening down the line.