I'm just on my phone at the moment, so it will difficult to flesh out an answer that explains it, but I'll give it a go. It has ended up being more an intuitive explanation, hopefully it helps.
Under a local volatility model, you have your local volatility surface and a path that meanders through it. The realised volatility of that path will be a random number, but the expectation of that number will be the path integral over the LV surface (we actually need the path integral over the variance surface since its the additive quantity):
$$ \mathbb{E}\left[\sigma_{\mathrm{path}}\right] = \frac{\sqrt{\int_0^t \sigma_\mathrm{local}^2(P(\tau), \tau ) \mathrm{d}\tau} } {t} $$
Now, you'll notice I've written that this is the expectation of the realised volatility of the path, and also that it's also dependent on the specific path. This is because the actual volatility the path encounters depends on the specific values of $\mathrm{d}W$ that random driver spits out. Its plausible (but unlikely) that all of the random numbers are zero, in which case the realised volatility of that particular path will be very low (its just very unlikely to happen). Because of this, we end up with a distribution of realised volatilities, where there are two factors deciding it:
- The random nature of the paths themselves, and
- The shape of the local vol surface (a flat surface will eliminate the first effect, while a very skewed/convex surface will increase it, since you're integrating over a large range of different local volatilities).
So what we're saying here is thst we actually do get a random realised volatility out of each path in local vol. But what is important is that we don't really have control over it, ie we can't control the distribution of realised volatilities*. This is the important point. If the derivative you're pricing has a (n approximately) linear dependence on the volatility of the paths, then by the linearity of expectation, the distribution does not matter, only the expectation. If on the other hand it does matter, then you need to be able to control that property in order to price correctly. This control is one of the things that stochastic volatility models give you.
If you have a product that has an exposure to the vol of vol, it is not necessarily true that LV will under price it, because of the unintentional random volatility paths experienced due to the phenomenon explained above. You just don't have control over it.
So bringing this back to the DNT problem, think about the value of a dnt at zero volatility:it is 100% (assuming the drift doesn't kick us out). While you increase the volatility slowly, the distribution of expected returns widens, but at first stays inside the two barriers - are value stays at 100%. At some point, the distribution starts to breach the barriers, and the TV of the dnt starts to curve downwards. As we continue to increase the vol, the value approaches zero (as KO becomes almost certain), but once you get to higher vols, increasing them more and more has diminishing effects - ie you have a tv(vol) function that looks something like this:

Where it is concave in vol up to some point, then becomes convex. Exactly where that switchover happens depends on the barriers, general level of volatility, and the time to maturity. Where it is concave in vol, it is short vol of vol, and where convex it is long vol of vol. Generally speaking though,they will be structured such that they're in the convex region, as typically those buying these products want to pay somewhere in the region of 10% for them. Where we know that a product is linear in a substance we know that the expectation of f(x) is the same as f(E(x)), we also know that where a function is concave or convex, we need to correctly simulate the distribution of that substance in order to integrate over it**. Thus, it is not accurate to say that local vol underprices double no touch products. It is fair to say that in the the reduced universe of DNTs that investors often are looking for, on low vol underlyings (ie Spx) then local vol will probably underprice these.
Another thing to consider is that the model will probably spit out a value like 7%, and the traders on the desk will then talk to each other and decide there's no way they're selling it for 7%, and if its attractive would probably be happy buying it for 10%, and then show a bid/offer of 10/20.
*you can actually cheat this, imagine creating two local vol surfaces, one at a general level of 10, and the other at 30, and then splicing them together (say, every other 0.0000001, or some other small amount, you switch between surface one and surface two), the now each time you go to fetch the vol from the LV surface, you'll randomly sample one or the other. You'll now end up with two distributions for the vol paths. You can extend this to as many subsurface as you want, enabling you to build whatever distribution of realised vols you want using the inverse cdf which you can pack in thousands of times, enabling you do define the distribution per strike and time in the LV surface. It is however a total hack, and while it let's you control the final distribution of realised volatilities, it doesn't give you control over the dynamics of volatility, which may or may not matter for your derivative - they normally do though, as its not normally vol of vol you care about, but normally the conditional volatility after barrier breaches and stuff.
**this is a simplification, and as mentioned in the above asterisk, it's normally the conditional volatility aspect of a stoch. Vol model that you actuslly care about rather than just the terminal distribution of paths. It is however still something useful to think about.