Counterspell works fine as a "reaction." That's how it worked in Portal even (the for-beginners Magic expansion with simpler rules).
The main trick is you have cards called "reactions" (not like Dominion ones, but like Dominion's were originally) that tell you when you can play them. You can only play them then. Counterspell says "Play only when a spell is played. Counter that spell."
Richard Garfield might agree with you. Long before Portal existed, in the early days of MTG, there was no stack, and Counterspell, instead of the Instant it is now, had a now-defunct card type, "Interrupt," whose function was to affect other cards as they were being played. Interrupts could only be played during the process of someone playing another card. Besides counterspell variants, Interrupts could do things like change a card's target if it had one (Deflection), or change other properties of the card before it resolved (Sleight of Mind, Magical Hack). That sounds more or less like the "reaction" type you've described, and works for any purely responsive effect.
But MTG has other "response-like" cases that shouldn't have the restriction of "play only as a reaction." The classic example is when you try to kill my creature with a Lightning Bolt and I try to save it with a Giant Growth. Giant Growth shouldn't be a "reaction" because it clearly has other non-reactive uses, so what to do?
- They could've made cards like Giant Growth multi-typed: Instant/Interrupt or in Dominion terms, Action/Reaction but with the same effect on both uses. But then I suspect people would've come up with sneaky and confusing ways to get an advantage by specifying that they're playing the card as one type and not the other. Maybe not with Giant Growth, but MTG has much more complicated "response-likes" than that.
- They could've let all non-Interrupts resolve in the order they're played, the simplest possible timing. Then Giant Growth only saves my creature if I do it preemptively. So now we're talking about betting on what's in an opponent's hand, bluffing about what's in one's own hand, and "races" where my opponent starts to say "Lightning Bolt" and I try to say "Giant Growth" before he finishes speaking. The first two do happen in MTG, but that last one is definitely undesired; it would cause arguments between players and be a big hassle for tournament judges.
- That leaves timing rules that let Instants act as responses, which is what the game originally had, just without the word "stack." The first rulebooks said that when everyone's done announcing their competing Instants, they resolve in the
reverse order from how they were announced. The phrase "last in first out" even appeared in the rules, with the same meaning it has when CS 101 professors use it to describe a stack.
So that's how MTG started, with an "implicit stack," and a reaction card-type, and some gray areas in how to properly mix the reaction and non-reaction card types, which came up annoyingly often. Maybe multi-typed cards would've worked for MTG, I'm not sure. But I am pretty sure that introducing the stack explicitly, declaring that all Instant-speed effects go on the stack, and errata-ing all Interrupts into Instants made the game simpler than it had been before.
Sorry for the wall of MTG history, I guess the TL;DR is that they did try it the Dominion way, more or less, back in the day, and it didn't work for MTG, so they did something else.