i guess it's more an inconvenient side effect than a bug.
afaik, it is actually the result of a bug fix. in the past there was a bug that allowed you to use certain twists with feat requirements even if you did not HAVE that feat, as long as you had it proper previous life and did not change the destiny tree on the new life.
i.e. life 1, you have some caster build with evoc focus, and take magister precise evocation in your tree
life 2, you are different caster build lacking the feat, but still have that in your magister tree and it didnt force a tree reset
think this could also be used with feat swap, aka take evoc focus, unlock precise evocation, then switch the feat and retain precise evocation.
to fix that, a general feat swap force resets destiny trees with such feat based functions was introduced. it may be a bit wonky in that it sometimes resets a tree during a heroic feat swap, and even might force reset a tree where no feat reqs are present, but it is still part of the package preventing above semi-cheat and as such working as a fix as intended. I think XD
edit:
P.S you are probably right that they could streamline this a bit in such a way that it only triggers when it really is appropriate. however I would say bug wise there are bigger fish to fry.
looking on the bright side, a feat swap gives you a no-cost destiny tree reset