I got in touch with DAS engineers and it turns out that it's not a bug (which I had also assumed it was), but actually a deliberate way to calculate VWAP in two different ways. On the montage, the VWAP is calculated by using every intraday price tick and weighting by volume; this is usually the textbook definition of VWAP and is what pro terminals like Bloomberg use. The graphs, on the other hand, weighting the volume during each candle against a price calculated using the (high+low+close)/3 of that candle. This is why for particularly volatile stocks, you'll see discrepancies across timeframes. If in doubt, use the montage's value.