I think there is a bit confusion between the datamover and DDB host.
When you are using gridstore and load balancing streams across multiple media agents, that is solely the work of the data mover. So each stream will be written down to the configured datapath in the storage policy for that media agent.
With partitioned dedupe, which signature is processed by which partition depends on the outcome of the signature hash. For example, if you have two partitions, the signature generated will return a 0 or 1 hash value. If the value is 0, then the signature is submitted to the DDB host for partition 1. If the hash value is 1 then the signature is submitted to DDB host hosting partition 2.
In this regard, even if you have 20 streams going to MA1, and 50 streams to MA2, the signature processing is esentially still split 50/50 due to the way the hashing algorithm works. Each media agent will be responsible for half the load. The only time this is not true, is if a partition goes offline, then all signature processing will be moved to the other available partition nodes.
So do not get too hung up with the stream allocation, as that not relevant to the signature processing.
A similar concept was used back in the 8.0 days, where media agents were defined only to host DDBs and not do any data movement (This was coined an MA zero configuration).