Olá, acompanhando o curso a primeira ideia que me veio à cabeça para solucionar a questão de o datomic ID estar quebrando a validação de esquema foi a seguinte:
(s/defn todas-as-categorias :- [model/Categoria] [db]
(d/q '[:find [(pull ?categoria [:categoria/id :categoria/nome]) ...]
:where [?categoria :categoria/id]] db))
Ou seja, no próprio pull
já faríamos a filtragem e traríamos apenas os atributos que temos interesse.