The 800m is different from the 1,500m.
In the 1,500m, they took 4 extra non-qualified athletes to get to the target # of 45. So Willis didn't get in.
In the 800m, they took extra athletes, but even including the extra athletes they only selected 45 to compete. The target # was 48. So English got screwed with them not applying their own guidelines (top 48, including guest athletes).
And in the 100m, there's something like 70 athletes because of guest invites. But guest invites don't count against the target # in the 100m, just every other event.
The IAAF selectively applied their guidelines. That's the issue at hand.
Yes, it would be clearer if everyone just hit the Q standard, but that's not the system the IAAF put in place. They said auto Q plus filling to a target #. They didn't follow their own rules.