I don't think the MultiMic concept is suitable for your use case as you can't use different LFOs/ modulators on different mic channels. The idea behind this is exactly to prevent having multiple LFOs and envelopes when you only need one. There are more limitations (the loop points must be equal) etc. so it's really only usable for multi-mic configurations (hence the name).
Just use multiple samplers, the overhead of having multiple instances should not be a big problem (or in your special case use multiple JUCE synthesisers which load the streaming sampler sounds).
You might want to experiment with the SynthesiserGroup module which basically allows to coallescate multiple samplers on the voice level which allows stuff like having one envelope for all AHDSR. But after all since you want to go full C++ anyway, you can just hardcode this structure and get the exact signal flow you want.