Não é possível, e talvez nunca seja possível, atribuir uma chave estrangeira a uma propriedade json. Seria uma mudança importante e bastante complicada na aplicação de chaves estrangeiras do PostgreSQL. Eu não acho que seja impossível de fazer, mas enfrentaria problemas semelhantes aos experimentados pelo patch de chaves estrangeiras para matrizes.
Com 9.4 será possível fazer de um objeto json inteiro uma chave estrangeira como
jsonb
suporta testes de igualdade. Em 9.3 você não pode nem fazer isso.