Ah, well, thinking it through, this is about a free monad based effect system when you try to use it like mtl, not about the performance of the Free Monad itself.
I will talk about what happens to performance when you try to use the free monad like mtl. When you stack multiple effects ExampleEffect1, ExampleEffect2, …, ExampleEffectN for simultaneous use, you write something like runExampleEffect1 $ runExampleEffect2 $ ... $ runExampleEffectN m. In a typical library implementation, at that point, whenever an instruction that appears in the program m such as DoSomething is executed, the system performs processing equivalent to a linear search over X = 1..N to determine which ExampleEffectX it is. Therefore, each instruction takes O(N) time.
If you do not use it like mtl, in other words you are not thinking of combining multiple effects extensibly and running them in multiple stages and it is enough to handle a single effect GADT at a time, then at least this O(N) slowness does not apply. Even in such single effect cases, whether it is still slower than mtl is not well established as far as I know, since most benchmarks are for effect system style use.