I love the idea of what you are doing, especially the backup solution.
I'm wondering if it might make sense for you to only distribute the 'core' and make every other specialised machine a 1-click download / install. This would allow you to keep the core fresher and more updated with bug fixes and support for your packages. Imagine now if you have a problem with the core you have to re-roll all the other specialised machines.
You could incorporate into the first-boot setup of the core via webmin (or command line) a selection screen of what type of TKL machine the user wants to turn that core into.
Just seems more maintainable to me, from your point of view.