Это на самом деле не dict_values
обработка операции (й).keys_view
будет усиливать операцию с правой стороны, поддерживая отраженный метод (ы):
>>> set().__rsub__({}.values())
NotImplemented
>>> {}.keys().__rsub__({}.values())
set()
По аналогичным причинам операции над множествами иногда будут работать или не работать с другими представлениями dict:
# works, because type(d.items()) implements __rsub__
>>> d.values() - d.items()
{1}
# fails, because type(d.values()) does not implement __rsub__
>>> d.values() - d.values()
TypeError: unsupported operand type(s) for -: 'dict_values' and 'dict_values'
Итак, хотя такое поведение нарушает типизацию утки, документы остаются правильными.