I have an idea. I remember from school a couple of my instructors saying that most often over-looked sensor is the coolant temp sensor. Its very cheap and usually easy to change. I bought a new one from the dealership I work at and put it in in about 30 minutes. It was a little difficult to get to and I had to take a few things off (mostly wires that were in the way). The sensor was only $15 if I remember correctly. It's also important to point out that just because your car's engine temp gauge in the car acts normally does not mean the coolant temp sensor is good. Most cars now-a-days have a separate sensor for the gauge. Also consider taking your car to a subaru dealer and having them scan it with their computers, sometimes things are faulty but do not trigger the check engine light.
That being said, it sound's like your idle is fine. Mine idles at around 500-600 RPM after it is warmed up.