I think shots like that are especially tricky to call. I often form a mental model of what should happen and what could go wrong. In both I predict ball paths and reactions.
Scenario 1: You pocket the 2.
Two hit full. Cueball follows between the tangent line or rolling 30 angle and either clips the 6 and maybe the 9 doesn’t move at all, or you clip more of the edge of the 9 and that goes high on the side rail… perhaps at a dribble.
Scenario 2: 9 is clipped first
9 goes flying out tracking a little lower in the rail. Maybe the 6 is moved by the 9, maybe not. And the two ball is hit 3/4 full and goes rocketing 1-2 diamonds high on the side rail.
Then you look at the shot and see ball behaviors that look like Scenario 2 and call foul.
And maybe you forgot to consider scenario 3 where either (a) Filler misses pocketing the 2 or (b) never could make the 2 and was planning on clipping it thin all along. Assuming it was a good hit (assuming not scenario 2) you have to ask yourself how different is the 9-ball movement between scenario 1 and 3. Will scenario 3 have a hot 9-ball or a dribbling 9-ball? If you imagine dribbling/high then this shot is a foul. If rocketing/low then you this shot is good.
I think it’s pretty easy for me to see how this could be ruled good or bad just depending on what’s in the mind of the ref. Because for me I tend to need to do that mental prep first because a shot happens too fast to solely trust my eyes in the moment. Standing in a better position can help your eyes see more, but I think it’s your mental model that’s likely to decide your call. I don’t cringe at this one going either way.