Here is a minimal test case that produces the invalid Javascript:
`
(defn f []
(let [a 0]
^{"meta" "data"}
(fn [] true)))
`
The compiled Javascript includes the invalid token sequence "return return". (Per Chrome: Uncaught SyntaxError: Unexpected token return)
The problem does not occur if the metadata applies to a map literal instead of a function literal.
The problem only occurs when the function and metadata are inside of a let.