Actually, I think this has already been fixed on the master branch of QuadGK. Probably by https://github.com/JuliaMath/QuadGK.jl/commit/298f76e71be8a36d6e3f16715f601c3d22c2241c which added some where F.
Using the master branch I get the same performance with both an anonymous function and a callable struct.