Toto:
#<ActiveRecord::Relation [#<Model id: 1, Model id: 2 ...>]
je výsledkem volání inspect na dotaz a inspect zobrazí pouze sloupce, které o něm model zná. Model bude během spuštění dotazovat tabulku na sloupce, takže bude vědět pouze o sloupcích, které jsou skutečně v tabulce.
ActiveRecord vytváří metody přístupového objektu sloupců za běhu pomocí method_missing takže může v dotazu vytvářet věci metod, které nejsou sloupci ve skutečné tabulce.
Tedy vaše data je tam, stačí o to požádat jménem, například:
Model.select(:id, "json_field -> 'data' as data").map(&:data)
vám poskytne data hodnoty.