My usual process is to keep the image pretty slim, then use a separate suite of software to deploy software to machines after they've been imaged. The main reason for that is the different requirements of departments - admin staff don't need visualiser software, teaching staff don't need the finance packages etc.
I suppose I could have a generic image that contains every piece of software that anyone could need, but that seems like it would make the imaging process long-winded.
In terms of imaging, I used the following two guides to set up my MDT deployment and it has served me very well.
https://docs.microsoft.com/en-us/windows/deployment/deploy-windows-mdt/create-a-windows-10-reference-image
https://docs.microsoft.com/en-us/windows/deployment/deploy-windows-mdt/deploy-a-windows-10-image-using-mdt
The process is pretty much as you describe, with a few extras - for example they suggest using a virtual machine for the 'clean' machine to remove any issues with machine specific hardware.