Lookup Ref is interpreted as a tempid String, resulting in "tempid _ used only as value in transaction"

I’d like to use a Lookup Ref as the identifier for a ref in a new entity transaction. But datomic thinks the ref is a “tempid” string rather than recognizing it as a lookup ref.

Here is a sample transaction:

(d/transact conn {:tx-data [{:db/id             "new"
                             :booking/inventory [:style/id "deleteme"]
                             :booking/status    :booking-status/cancelled

The error I get is:

Execution error (ExceptionInfo) at datomic.client.api.async/ares (async.clj:58).
tempid ‘deleteme’ used only as value in transaction

Here’s the relevant bit of the schema:

#:db{:id 75,
      :ident :style/id,
      :valueType :db.type/string,
      :cardinality :db.cardinality/one,
      :unique #:db{:id 38, :ident :db.unique/identity},
      :doc "The ID ..."}
#:db{:id 87,
      :ident :booking/inventory,
      :valueType :db.type/ref,
      :cardinality :db.cardinality/many,
      :doc "The ..."}

The specified style/id does exist, and, in fact, this lookup ref works with a pull:

(d/pull (d/db conn) '[*] [:style/id "deleteme"])
=> {:db/id 79164837199968, :style/id "deleteme"}

Any ideas on why this is not working for me?