If you use MainWP for managing your child sites, you already have a way to update plugins, themes, and push different code changes to those sites without having to deal with multisite performance issues.
Multisite allows many subsites to share common plugins and themes. In addition, all sites will end up sharing the same database and server resources. The downside to sharing database and server resources will be explained later.
Multisite only database tables
wp_blogmeta – New added in WordPress 5.1
Global database tables shared over all subsites
Whilst each subsite will create their own version of these same database tables
You are not going to gain anything by using subsites for client child sites. The biggest issue ends up being trying to performance optimize a subsite vs doing the same thing for a single site. The fact that all of your subsites will be sharing the server database and resources will do you no favors in having subsites being performance-based.
MainWP allows you to manage as many child sites as you will need. If you made changes to a custom active theme, you can push out those changes to specific child sites, or if you made changes to a specific site plugin which was custom to a child site. You can zip up that plugin file and then push out to as many child sites as needed.
There is no real reason to use multisite for client child sites; multisite ends up being the most complex solution to an otherwise fixable problem. You already have a management solution for managing multiple child sites and that is MainWP.