Odpowiedzią jest wyrażenie RawSQL;
queryset.annotate(value = RawSQL("(jsonfield->%s)", ('key_name',)))
queryset.values('value')
Pierwszy argument RawSQL
jest jak ciąg szablonu, drugi argument wypełni %s
pierwszego
AKTUALIZACJA:najwyraźniej Django 2.1+ obsługuje teraz moje oryginalne oczekiwane zachowanie;
queryset.values('jsonfield__key_name')