I started in trace mode and managed to get more information before the error occur. Just in case it helps you:
10-13 15:16:25 TRACE util.i18n :: Translated "Opened new MongoDB connection." for site locale "en" -> "Opened new MongoDB connection."
10-13 15:16:25 DEBUG mongo.util :: Opened new MongoDB connection.
10-13 15:16:25 TRACE mongo.execute :: Renaming columns in results ["_id" "item" "qty"] -> ["_id" "item" "qty"]
10-13 15:16:25 TRACE util.i18n :: Translating "Formatting rows with results timezone ID {0}" for user locale "en" (site locale "en") -> "Formatting rows with results timezone ID GMT"
10-13 15:16:25 DEBUG middleware.format-rows :: Formatting rows with results timezone ID GMT
10-13 15:16:25 TRACE cache.impl :: Freezing {:cols [{:name "_id"} {:name "item"} {:name "qty"}], :cache-version 3, :last-ran #t "2022-10-13T15:16:25.592261Z[GMT]"}
10-13 15:16:25 TRACE cache.impl :: Freezing [#object[org.bson.types.ObjectId 0x6645c3b4 "63481d83b8fc3a1b5ebf3156"] "journal" 25]
10-13 15:16:25 TRACE cache.impl :: Freezing [#object[org.bson.types.ObjectId 0x24f9a4ab "63481d83b8fc3a1b5ebf3158"] "mousepad" 25]
10-13 15:16:25 TRACE cache.impl :: Freezing [#object[org.bson.types.ObjectId 0x32711e8b "63481d83b8fc3a1b5ebf3157"] "mat" 85]
10-13 15:16:25 TRACE query-processor.reducible :: All rows consumed.
10-13 15:16:25 TRACE cache.impl :: Freezing {:data {:cols ({:description nil, :semantic_type :type/PK, :table_id 173, :coercion_strategy nil, :name "_id", :settings nil, :source :fields, :field_ref [:field 2172 nil], :effective_type :type/MongoBSONID, :nfc_path nil, :parent_id nil, :id 2172, :visibility_type :normal, :display_name "ID", :fingerprint nil, :base_type :type/MongoBSONID} {:description nil, :semantic_type :type/Description, :table_id 173, :coercion_strategy nil, :name "item", :settings nil, :source :fields, :field_ref [:field 2173 nil], :effective_type :type/Text, :nfc_path nil, :parent_id nil, :id 2173, :visibility_type :normal, :display_name "Item", :fingerprint {:global {:distinct-count 3, :nil% 0.0}, :type {:type/Text {:percent-json 0.0, :percent-url 0.0, :percent-email 0.0, :percent-state 0.0, :average-length 6.0}}}, :base_type :type/Text} {:description nil, :semantic_type :type/Quantity, :table_id 173, :coercion_strategy nil, :name "qty", :settings nil, :source :fields, :field_ref [:field 2174 nil], :effective_type :type/Integer, :nfc_path nil, :parent_id nil, :id 2174, :visibility_type :normal, :display_name "Qty", :fingerprint {:global {:distinct-count 2, :nil% 0.0}, :type {:type/Number {:min 25.0, :q1 25.0, :q3 71.51530771650467, :max 85.0, :sd 34.64101615137755, :avg 45.0}}}, :base_type :type/Integer}), :native_form {:projections ("_id" "item" "qty"), :query [{"$project" #ordered/map (["_id" "$_id"] ["item" "$item"] ["qty" "$qty"])} {"$limit" 2000}], :collection "test_col", :mbql? true}, :results_timezone "GMT"}}
10-13 15:16:25 TRACE cache.impl :: Caught error when freezing object
java.lang.NoSuchFieldException: backing-map
at java.lang.Class.getField(Unknown Source) ~[?:?]
at taoensso.nippy$fn__25232$fn__25233$fn__25234.invoke(nippy.clj:1209) ~[metabase.jar:?]
at taoensso.nippy$fn__25232$fn__25233.invoke(nippy.clj:1207) ~[metabase.jar:?]
at clojure.lang.PersistentVector.reduce(PersistentVector.java:343) ~[metabase.jar:?]
at clojure.core$reduce.invokeStatic(core.clj:6885) ~[metabase.jar:?]
....