Acho que o problema aqui é que as tags não são conhecidas localmente ao fazer o checkout, como no seguinte problema (não relacionado ao Discourse):
Executar git fetch --all deve resolver o problema, mas não sei o quanto isso poderia aumentar o tamanho da imagem (a menos que outra instrução limpe as referências não utilizadas mais tarde).
Dito isso, acho que git clone --depth 1 https://github.com/discourse/discourse.git --branch=$version resolveria, porque a opção branch permite tanto branches quanto tags, mas não testei e não sei se há algum motivo para o clone usar (atualmente) a branch master.
Ao executar git clone --depth 1 https://github.com/discourse/discourse.git --branch=v2.6.0, o tamanho total da pasta é de 212MB, e a pasta .git dentro dela tem 46MB, então acho que está tudo bem.