> it doesn't account for the control flow indirection that happens through OO method dispatch itself
Every indirect call is a conditional branch, where the condition can be arbitrarily far away in time and space.