Olá,
Ficarei feliz em ajudar você. Recentemente, criei um plugin onde utilizei um campo personalizado de tópico (Discourse Chain Topics Plugin).
No meu plugin, criei dois campos extras para cada tópico do tipo inteiro. Da mesma forma, você pode adicionar quantos campos desejar. No final, os campos personalizados de tópico/usuário são um objeto JSON onde cada campo que você adicionar será uma chave/valor no objeto JSON. Onde a chave é o nome do campo e o valor é o valor.
O exemplo que você trouxe acima (que também me ajudou) é construído de forma que você adiciona um campo extra no painel de administração, onde escolhe seu tipo e nome. No entanto, você não precisa necessariamente relacionar os campos extras ao painel de administração. Da mesma forma, você pode adicionar quantos campos desejar (não tenho certeza de como isso pode afetar o desempenho).
Por último, sinta-se à vontade para me contatar/enviar uma mensagem para qualquer suporte que precisar. Você também pode encontrar meus detalhes de contato em https://ghassan.blog
Desejo a você boa sorte.