Ao criar tags dentro de um contexto pré-definido pelo próprio HTML não vai afetar o SEO já que no build todas essas tags personalizadas virarão um DIV.

Por exemplo

<meu-header>
  <minha-secao>
    <meu-lateral>
    </meu-lateral>
  </minha-secao>
</meu-header>

Tudo isso vai virar DIVs o que é extremamente ruim para o SEO. Agora se você aplicar dentro do contexto global seguinto a semantica do html e um ou outro item ter tag personalizada, não terá problema por exemplo

<html>
    <header>
    </header>
    <body>
        <section>
            <meu-botao-diferenciado></meu-botao-diferenciado>
        </section>
    </body>
</html>

Agora, fazer toda essa personalização porque para VOCÊ fica uma leitura mais agradavel acredito que esse não é o caminho se você está fazendo algo para ambiente web além de estar "reinventando a roda"

Hoje para você pode ficar mais "dinamico e fluido" a leitura do código, mas para outros e até mesmo para você depois de 1 mês sem sequer abrir o código, não.

Acredito que quando programamos, nunca é para nós, mas sempre para os outros tanto na utilização do que foi programado quanto para a manutenção da programação.