Isso realmente parece ser o provável problema. Para dar um pouco mais de contexto, eu executo o Discourse em um contêiner Docker (como você pode deduzir pelo stack trace), mas não estou usando o projeto discourse_docker baseado em docker-compose. A imagem Docker que utilizo simplesmente baixa o release em formato tarball diretamente do GitHub, em vez de fazer um git clone. Por isso, nenhuma da lógica baseada em git no aplicativo funcionará.
Estou bastante acostumado com o campo “versão instalada” no dashboard não mostrar a versão real que tenho instalada. Tem sido assim desde que me lembro, embora, pelo menos, isso não tenha quebrado o dashboard antes.
Por curiosidade, essa funcionalidade teria algum tipo de fallback para buscar a versão em algum lugar que não seja o git? Não é um grande problema se não tiver; não me incomoda realmente não conseguir saber qual versão estou executando a partir do dashboard.