I was looking for a reliable, fuel saving compact hatchback. Before I decided on the '17 Sport Tech, I looked at '17 Civic hatchback sport, as well as '17 Mazda3 hatchback sport. I love the way the Impreza drives as a daily, but I hate the fuel consumption bc it is averaging +10L/100km, and barely does it reach even 8L/100km on the hwy. The car has had a list of repairs done to it already, like broken door locks, faulty windows, even the infotainment unit has been replaced, and I haven't even hit 30,000km yet.
Between the choices the OP posted, I would go back in time, and get the Civic hatchback. I don't need the AWD, and it's more spacious, has a larger trunk, and averages something like 6-7 L/100km, even with the 1.5L turbo. The Mazda3 hatchback was too cramped inside, both front & rear seating, and on the testdrive, I didn't enjoy the transmission, although it is the best looking vehicle of the three.
Full disclosure: I've had numerous Honda vehicles in the past, such as Acura EL, Accord, Odyssey, etc., and I've enjoyed all of them for numerous years without much hassle. The El was brand new in 2001, and was still running well when I traded in for the Impreza in 2017.