Don't know if there is some reason. I do think it's easier for the reader (defined in one place and does not require state), but could probably have been done the other way too.
Originally there was no syntax for it and (per Common Lisp / CLOS), and you would just
(with-meta [1 2 3] {:tag :xyz})
As a special case, the defn macro does actually support optional metadata at the end of multi-arity syntax (although this is rarely used):
(defn create-user ([email] (db/create-user email)) {:doc “doctoring”})