I think F should be legal. It’s bypassing an obstruction as efficiently as possible and then moving overall towards the target as quickly as possible.
So the problem isn't just the rule, it's that we're not given a rubric for assessing compliance with the rule. There are broadly two possible compliance issues here: Directionality of path, and using full movement. The latter is simpler to evaluate as it can be evaluated in isolation; the former requires more context. Here's my proposed rubric. Full movement: Given starting location (A) and end location (B), if your model could have reached B from A without using all of your MOV value, you have not used your full movement regardless of movement pathing, and your declaration is not compliant. (In the OP examples, D, G, H, and I are not compliant.) Edit: The justification here is that the rule actually says "Troopers may only move a shorter distance [than the full corresponding MOV value]" which seems to indicate not just expending MOV, but net displacement on the board. Directionality: If we presume that the goal of the Impetuous trooper is something like "I want to minimize the distance between me and the enemy/their DZ," we can presume that the most useful reference point in the enemy DZ is the nearest part of it to the model's starting location. So, given starting location (A), end location (B), and the point of the enemy DZ nearest to A (C), if the distance from B to C is smaller than the distance from A to C, your direction of movement is compliant. (In the OP examples, C is not compliant.) That gives the result that in the OP examples only A, B, E, and F are compliant. To me, those seem like the most in the spirit of the rules, at least in terms of "go toward the enemy DZ, but you don't have to be an idiot about it" sense. Edit 2: Once within the enemy DZ, I think that directionality becomes "anywhere within the DZ" since every movement that doesn't result in leaving the enemy DZ is towards some part of the enemy DZ and fulfills that requirement adequately, you just have to use your full MOV as above.