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')