The behaviour of the  syntax makes perfect sense, if you think about it. First, [...] is just an abbreviation for (fn (_) ...) to save typing. Second, `(...) is just an abbreviation for (quasiquote '(...)). Thus [`(...)] is [(quasiquote ...)], which is (fn (_) ((quasiquote ...)). If  stripped off the outer layer of parentheses, then [+ _ 1] would become (fn (_) + _ 1), which is clearly wrong. Thus, we see that it makes more sense to use fn, since the whole point of  and ` is to save typing and make code clearer, neither of which they can do here.
Another, possibly nicer, way to think about it is that  just represents a delayed function call; you're trying to delay an object, and since  is a function call, you're calling it instead. Either way, the point is that this is the consistent and desirable way for  to work.
: On Anarki, you also get _1, _2, etc., and __ for varargs, but that's not important for this discussion.