That hasn’t been the case for a long time actually. It used to be that the flair was directly tied to the primary group, but nowadays the flair option in your preferences can be used to select any flair one of the groups you’re in has even if the ability to select your primary group is turned off for normal users.
Sorry but that’s not fix the actual problem where people can select “Trust Level 3” in Trust Level 1.
And disabling the selector, the avatar flair and plus editing every single user manually is not good as turning default option that nobody can’t select the group (more than staff maybe) in order to respect the base of the Trust System on Discourse.
I’m still without getting the point of allowing users to chose their group when groups are by design updated by Trust Level.
The theme-component I linked for I don’t think gives users options to select different Trust Level groups for flairs.
After a quick look at your Op statement and the Custom TL flairs Theme Component. I think it might work best as it adds an additional flair to the user profile; leaving the choice of flairs intact for other group flairs. I imagine you will need to remove how you added flairs to TL and add them to the component linked above. This would likely be the easiest route atm with less work involved.
I think I maybe misunderstanding what the issue is your experiencing. My apologies.
Looking over settings. You would need to remove group flairs in the group settings for Trust Levels.
Then setup the Trust Flairs in the Theme Component for each Trust Level you want flairs on and choose the position you want it to display on the Avatar. The Actual group flair choice in the user profile will not have any flairs to choose from unless a custom group has a group flare.
The theme-component I linked will only show flair from the Highest Trust Level the member has.