honestly between those 2 neither.
the STI has too many miles for a strung out performance car and will probably start to get expensive real soon. being stock is a good sign but i'd still be worried it was beat on.
the MS3 i wouldn't trust because of all of the mods and the fact that many people have issues with them even in stock form. plus the price feels a little high to me for a 2+ year old car that was only $20k to begin with.
in general i'm not a fan of used performance cars that attract the younger crowd because more than likely it was beat to s*** and not well taken care of.
i would lean more towards a newer, lower mileage normal wrx, an S2000, a mazdaspeed miata, a GTO, an R32, an S4 (might be hard to find in the price range without dropping into the turbo 6 version), or a 350z. i feel that these cars attract more "grown up" buyers or are less strung out so i'd be more comfortable buying one of these used.