I believe "Let coach decide" works so well (or not, in your case...) because it compares players on some criteria and chooses the one deemed to me most efficient atm.
The strict substitution pattern doesn't work well because, as Justin said, it only cares about the starter's level of stamina/efficiency and does not compare the starter with his set backup/reserve at all.
If I'm not far off, it should be quite easy to fix the substitution patterns by just adding a comparison check (with different modifiers for backups and reserves ofc) at every game break suitable for substitutions.
BBB: 2 (S37 S38); Top tier: 7 (S35 S36 S37 S38 S39 S41 S63); Cup: 9 (S25 S35 S36 S37 S38 S39 S40 S41 S61)