Transit is heavily optimized for performance, and will be much much faster than directly reading/writing EDN.
Directly comparing it to JSON isn’t entirely fair as it’s a much richer format, transit can also reuse references, so if you have the same piece of data twice inside a bigger data structure, it will only be serialized (and deserialized) once.
It seems you’re mostly looking at the JVM side, but when talking to a browser using ClojureScript Transit also has big benefits over JSON, as it deserializes to ClojureScript data structures directly. This is much faster than first using JSON and then converting it with js->clj.