I’m afraid it’s just the behavior of recurring tasks. They don’t work well when you need to have both parent and subtask dates shifting like that; the recommendation is to only specify one or the other as recurring tasks.
Depending on your workflow, perhaps a solution lies in rules (a new type is scheduled triggers), rules with a custom field to denote the kind of task that should afford this behavior, or maybe dependencies (but not as part of a recurring task).
Perhaps Flowsana (cc @Phil_Seeman) also offers options too.
Thanks,
Larry