Como renderizar um cabeçalho cujo nível (h1-h6) é escolhido em tempo de execução em um componente Blazor
Razor não tem sintaxe para um nome de tag variável, e DynamicComponent só renderiza tipos de componente. Sobrescreva BuildRenderTree e chame builder.OpenElement(0, $"h{level}"). Cobre o repasse de atributos, por que o nome da tag precisa ser limitado antes de chegar ao DOM, por que mudar o nível arranca o elemento do DOM mesmo com @key, e uma variante com nivelamento automático construída sobre um valor em cascata.