I think someone else said this already but again, there are nights he's playing 22+ minutes and averages about 19 minutes a night. There is also a big split on which LHD he plays with. He's spent 285 minutes with Giordano at all strengths, 202 with Hanifin (over 50 of those minutes on the powerplay with him, I believe) and then 288 minutes with Kylington which lines up with what's been said here, which is pretty much that Andersson has either forced his way into the top pairing for a few games (they put Brodie with Stone on the bottom pairing in these games), or he goes when Kylington has disappointed and gets scratched (In this case they put Brodie on the bottom pair because he's left handed and they don't want Andersson with Stone as they are both righties). Probably a mix of both tbh.
That's kind of where raw TOI stats are complicated because he has played just as much time with our top defenseman as our bottom defenseman, which puts him in an awkward spot of being top 4 because top pairing is top 4 but also on the bottom pairing, because of some weird stuff with the Flames d-core. At least that's how I see it as to the contradiction between being top 2 or bottom 2.
I will admit he doesn't get a lot of special teams time and it might just be because they don't trust him defensively. Last season Valimaki, who is younger, played PK with the exact same lines as now except Valimaki was in place of Kylington, and was trusted there while Andersson is not.