Opa Lucas, como vai?
O ideal, ao se criar um componente de Button com variações diferentes, é criarmos a base principal dele, que podemos chamar de Filled, por exemplo, para depois criarmos as variants para, por exemplo, Outline e Ghost.
Não é tão necessário termos um componente separado para servir de base para essas 3 variants que mencionei anteriormente.
O Fill container é um elemento do auto layout que só aparece em elementos que estão dentro de outros frames que possuem auto layout também. Se a sua ideia é deixar o botão com largura de ponta a ponta, voce vai usar o Fill container para isso. No botão em si, não é bem aplicável, uma vez que vc precisa que ele aumenta a largura automaticamente sempre que for digitar, e para isso, usamos o Hug contents.
Consegui te ajudar?