I've viewed the script files for a fuckton of renpy games, and this is honestly the best way to go about it anyways. Branching and if/else trees work best with flags that you set for past choices. Stats variables are generally best used for MC disposition and flavor. You are basically already doing things in the ideal way, imo. I've seen how MC talks in a more male dom way during scenes if he has high toughness.I learned that I prefer to use a fuck ton of variables tied to specific past player choices to alter dialogue and restrict decision trees rather than some vague amalgamation of the player character's "soul."
Of course, you can always do more stat checks for flavor, but that's true for every game. More checks and more variations to reflect the state of the playthrough is something that will pretty much always improve the quality, but as always, it's a cost/benefit situation.