Hello,
Any of the options you outlined are feasible solutions, each with its own pros & cons. Utilizing logical conditions via an isolated trait would remove all users qualified into that trait, but you would still technically be collecting data for those users. Depending on their level of opt out...