This workflow should work just fine for variants. As the other posts it is very hard to get too specific here. I would try to keep your workflow simple and to try to learn variants workflow with minimal layers. The other thing to say is that you may be trying to override a material of an external payload, like a locked layer or external usd file. Variants need to work with internal assets, with full internal permissions.
Have you studied our master Car Configurator workflow here?
