It's no more odd than using an OA to hit with an attack that reduces speed to 0 (e.g., a ghoul's claws).
Sometimes it makes sense to favor "reality" but often it is just much easier to let the game's abstraction of combat just do it's thing. Reactions break cause and effect in many cases. Most or all cases for some triggers. You either ignore that fact, or you probably need to rebuild the entire reaction actions section of the game from the ground up.
So if a character's movement causes them to step on a pressure plate that opens a pit 5 feet in front of them, you'd force them to fall into the pit?
No, because that's not what's happening. The pressure plate activates when you step on it in this example.
Since you only provoke an opportunity attack
after you leave someone's reach, a more appropriate analogy would be that there is a section of floor covering a pit that normally has some kind of locking mechanism to keep people from falling through. If you hit the pressure sensor, however, that lock is disengaged, and so, after leaving the section of floor it is located on, and then stepping on the now unlocked floor panel, stepping on it causes it to swing open and you fall.
Of course, in D&D, such a trap would probably allow for a Dexterity save, so an even more appropriate analogy would be, that, instead of a pit trap, there's a
glyph of warding that explodes when you step on it. Either way, you can't look at it as "oh, I was moving, and that guy's sword is in front of me, I better stop".
You committed to moving, knowing you would provoke an opportunity attack from a foe whose space you are leaving. And then you got hit by it. Any rider effect attached to that attack that could prevent your movement certainly has it's normal effect, but you are still committed to
leaving the attacker's reach. If you hadn't done so, or intended to do so (in the case of movement prevention),
there wouldn't have been an opportunity attack in the first place.
And for all the "I only move a fraction of 5 feet" statements, if you're not 5' away, you haven't left the attackers reach.