No one wants to be dumped at Bramalea to take a local train for another hour into Union.
People might not think they want to go to Bramalea, but they actually do. Going to Bramalea means taking the 407, which avoids the worst parts of the 401.
For passengers headed downtown, the train portion then lets them avoid traffic on the 427 and Gardiner. In the end, the 10 minutes spent transferring at Bramalea are more than offset by the time saved by avoiding traffic on the 401, 427 and Gardiner. In theory, Greyhound is scheduled at 1h40 from Kitchener to Toronto, but in practice it rarely sticks to that schedule. Meanwhile, GO's current Kitchener Train + Route 30 bus combo is scheduled as fast as 1h45, and that's a schedule it actually keeps. In fact, westbound buses often arrive in Kitchener as much as 10 minutes ahead of schedule.
Then there's the fact that not everyone wants to go downtown. I, for example, travel often between K-W and North York. For me, Greyhound is basically useless, but GO's Waterloo-407 routes (30 and 25F) are perfect, except that they only run a couple times per day, and a couple days a week, respectively. If I'm on route 30, which terminates at Bramalea, I can easily transfer to the 407 East service (45,46,47,48), which runs every 15 minutes or better all day. Thanks to the more direct route and avoidance of the 410, the routes via Bramalea save me 10-20 minutes compared to the typical transfer at Square One.
If the idea is to connect with the Go Bus network, I would have thought that Square One would be a more effective transfer hub to connect to - Bramalea is a bit of a backwater hub for GO. But even that requires hitting the brake light zone of the 401.
GO Route 25 already provides hourly or better all-day service to Square One. During peak periods (friday afternoons during the school year), there are buses every 10 minutes between Waterloo and Square One, most of which operate express. That's in addition to service every 30 minutes from Waterloo to York U via Bramalea which is not timed to meet trains there.
Just think how faster it would be if the buses didn't go to Bramalea, but to Milton for these express buses. Unless you have service every 15 minutes out of Bramalea using short train, Express Service is not Express.
Sure, let's think about that.
A train trip from Bramalea to Union takes 37 minutes, while a trip from Milton to Union takes 64 minutes.
Since there isn't currently a Kitchener-Milton express bus, I'll use Google Maps to estimate the bus travel times times. Without any traffic, it takes 38 minutes from Kitchener to Milton, and 51 minutes from Kitchener to Bramalea.
Assuming a standard 10 minute transfer* and an arbitrary 10 minutes of schedule padding** for both buses, we get:
Kitchener-Toronto via Bramalea:
61 min bus + 10 min transfer + 37 min train = 1h48
Kitchener-Toronto via Milton:
48 min bus + 10 min transfer + 64 min train = 2h02
So even if we were okay with dumping even more passengers onto our most crowded line (which we aren't), and if the Milton Line had all-day train service (which it doesn't), it would be substantially slower for most passengers.
*Technically, GO generally schedules 15 minutes in the eastbound direction but only 10 minutes westbound, since buses will hold for late trains, but trains will not hold for late buses. The resulting travel times are therefore only realistic for westbound trips. Eastbound travel times would be about 5 minutes longer.
**The existing Route 30 Kitchener-Bramalea express bus bus trips are scheduled for between 55 and 75 minutes depending on time of day. The arbitrary 10 minutes of padding roughly aligns with an off-peak trip: the two existing westbound off-peak train+bus trips via Bramalea are scheduled for 1h45 and 1h46, very close to the 1h48 estimate found here.