I am not an expert on symplectic integrators, just a user. With that in mind, AFAIK HMC algorithms are using them because if the stepsize is “small enough”, you get errors that have nicer properties with not too many function evaluations (this is important, see below), most importantly they are contained within a band (if things work out), as opposed to non-symplectic integrators which can have error increasing non-linearly over time.
Stepsize adaptation usually happens with a heuristic. It can be problematic if the logdensity has highly varying curvature, as the sampler cannot adapt to the whole space well. The practical solution for this is jittering the stepsize and hoping for the best, and for truly nasty models think about reparametrizations (cf the folk theorem of statistical computing).
AFAIK modern (non-symplectic) integrators can have excellent properties in practice, and even if there are errors, the NUTS2 algorithm is built to cope with that, it is just most efficient when errors are not too large. With the default settings of NUTS/DynamicHMC, we usually build up a tree with a doubling algorithm up to depth 5, which means 32 nodes.
In practical problems, the cost of the integrator is negligible (\ll1\%) compared to log density evaluations (with derivatives), as the latter dominates everything. Even if we had more interim nodes, the NUTS2 algorithm per se can easily cope with that.
So the real question is: compared to leapfrog, what would be the accuracy of other algorithms traversing the same trajectory (we want to get far), and the same number of logdensity evaluations? I don’t know enough about numerical ODE to answer this, but if someone suspects that they can do better than leapfrog on problems of varying curvature while not increasing the function evaluations drastically, that could be a big win as it would allow another layer of automation. Thinking about reparametrizations that “smooth” problems is probably the trickiest part of practical MCMC now for complex models.
I built DynamicHMC to be somewhat modular, even though leapfrog is hardcoded ATM it would not take much to modularize it. So if someone wants to experiment with such things, let me know.