That is probably NOT what is happening. The diocese does not just keep a certain amount or a percent.
If their suggested donation is $10 then that’s what the send for the Masses. Whether they ask one priest to say 5 Masses or they ask a Mission society to say 100 Masses, they still send $10 for each Mass.
Anything above the $10 the diocese can legitimately keep for something like (but not necessarily) adding to the retirement fund. That doesn’t mean it is the only source of the retirement fund; but that it’s just added to it.
Also, as I said, sometimes people give less than the suggested donation. So if one person gives 15 and another gives 5 and 8 others give 10 each, the diocese asks a retired priest to say 10 Masses and sends him $100.
By keeping things even at $10 per Mass, the diocese doesn’t have to decide “which priest gets the $5 Mass and which one gets the $50 Mass?” Each one gets $10 per Mass.
As I wrote earlier, they are most likely giving the Mission society $300 and requesting 30 Masses, even though the Society would be willing to take only $200.
Just because the Society is offering you a “discount” (again I don’t like that word) that does not mean that the diocese is failing to send them the full $300.
Based on standard practice among diocese, I can safely say that this is almost certainly the practice.
Unless someone from either the Society or the diocese told you that the diocese is keeping any of the money, there’s no reason to assume that they are.
If they ask the donor for $10 per Mass then that is what they send to the priest or the society, $10 per Mass. That’s how it works.