I've owned a few Subaru cars over the years, and I'm pretty sure you're mistaken about that engine. As far as I know, the US never saw the 2.0L EJ20 engine in 2004. You more than likely have a 2.5L EJ251 or EJ253 engine in that car, assuming its the stock motor that came with the USDM Impreza...
Your best option is to try and find a local junkyard or part-out so you can check the stereo on the spot (in their car or yours). The local salvage yard from car-part would be a good start, or look around on your local craigslist.
If not, get whichever one of the Ebay stereos is cheapest, ie...