I have a 2016 Forester, because the only way to get a small SUV with AWD and a manual transmission in 2016 was to buy a Forester.
Shit sucks. The body is too big for the engine so it's slow as shit. Boxer engine + 0W-20 oil (for CAFE reasons) = oil burning; my block was replaced at 25k under warranty for oil burning issues. The infotainment is trash. I think the only OEM with worse infotainment than Toyota is Subaru. I didn't think this was a big deal until I rented a Chevy Malibu that was unimpressive in most ways but had decent infotainment. Based on my experience I can't in good conscience recommend a Subaru.
From your list I'd recommend the Mazda. I had a Mazda 3 for 10 years and I liked it a lot. I've driven friends' Mazdas and I always found the driving experience to be pleasant.