Isso ocorre porque o operador
->>
obtém o elemento da matriz JSON como texto. Você precisa de uma conversão para converter seu resultado de volta para JSON. Você pode eliminar essa conversão redundante usando o operador
->
:select person->'dogs'->0->'breed' from people where id = 77;