First off, I generally don’t worry about DRY until there are 3 instances, not 2. With only 2, it’s really easy to over-generalize or have a bad structure for the abstraction.
But otherwise, I disagree with the article. If it’s complicated enough to bother abstracting the logic, the worst that can happen in the above situation is that you just duplicate that whole class once you discover that it’s not the same. And if that never happens, you only have 1 copy to maintain.
The code in the article isn’t complicated enough that I’d bother. It even ends up with about the same number of lines of code, hinting that you probably haven’t simplified things much.
And you can even return it, if it’s released and you haven’t installed it… Or if it’s on Steam, and you played it less than 2 hours.
There really isn’t a lot of reason to strenuously avoid pre-ordering if you’re pretty sure you’ll buy it at release.
And even better, a lot of games have pre-installs that can save you time at release. You could be playing the game instead of being mad that it isn’t downloaded yet.