I have lived in Waterloo-20+ years ago. It isn't the same Waterloo....it's overpriced and over-driven. Yes, it has big-city amenities without really being "The" big-city, the schools are fine (really, 90% of schools in Ontario are more than adequate for a great education), the surrounding countryside, what hasn't been eaten up by development, is really lovely.
I'm not sure what has set your heart on Waterloo, but Cambridge is actually a pretty great place-close enough to KW to make it easy for work purposes if you work there. Cheaper as well. Not to suggest Waterloo is a bad choice overall, but maybe good to hear other experiences?
Currently I am in Brantford. It gets a bad rap, but everyone in my family walks/bikes to work/school and all activities. The Grand River is, well, pretty grand-endless trails and incredible sunsets over the river valley. You can be at a beauty beach in 45 minutes and Hamilton, with all that it has to offer, which is just as much as KW, is about 25 minutes east. Every activity for kids is within at most a short drive. There is a University and a College downtown-near the casino which is a blight on Brantford.
We live in the nicest neighbourhood in the city in an awesome house that cost half of what you're looking at (bought in 2017). I think prices are headed back down (average price went from 900+ to around 700+ in the past few months!) so you might be able to find something in a year or two for far less than what you are thinking.
The bad? Bike infrastructure is still in its infancy. People experiencing homelessness and addiction with the accompanying challenges (no worse than Kitchener though, don't think those social issues aren't in KW). Some schools have challenges-but even then some of them have really improved dramatically in the past 3 or 4 years. You have to pick your neighbourhood, but it's pretty easy to land in a nice spot.
Just my take-oh, GTA is arguably easier to get to from Brantford than Waterloo. I walk to the Via station and in 1 hr and 7 minutes I am downtown Toronto.