A resposta de Xavier e a discussão que se seguiu levaram-me à causa real desta questão: uWSGI. Parece que o uWSGI estava removendo o cabeçalho:
[WARNING] unable to add HTTP_REFERER
A solução foi dolorosamente simples - ao iniciar o uWSGI, eu precisava simplesmente incluir a seguinte opção:
--buffer-size 8192
Todos os cabeçalhos chegam ao Django agora e a verificação do CSRF é bem-sucedida.