Acho que poderia funcionar tanto usando o modelo standalone quanto escrevendo um deploy.yml com todos os containers de dependência como acessórios.
A documentação diz que o modelo standalone tem a desvantagem de tempos de inatividade mais longos durante as atualizações, mas isso não seria o caso com o Kamal, graças aos seus deploys com zero inatividade (ele mantém o container antigo e apenas alterna o proxy reverso para o novo quando este responde com um HTTP 200).
Mas isso não funcionará, pois você não pode ter dois contêineres acessando o mesmo banco de dados PostgreSQL ao mesmo tempo. Você precisaria criar seu próprio contêiner para que ele executasse a migração do banco de dados na inicialização, ou usar os novos (ainda não suportados) que fazem algo semelhante. Você precisaria de alguém que conheça ou entenda bem tanto o Discourse quanto o Kamal para conseguir fazer isso funcionar. E como ninguém respondeu até agora, parece que essa pessoa não está por aqui.
Eu seguiria a instalação padrão para começar e, em seguida, veria como fazer algo funcionar com o Kamal.