Josh Bailey had a goal and an assist for the Rangers (33-16-1-7), who have lost three of their last five games.
Ryan Murphy and Dominic Alberga also scored for Kitchener.
Garret Sparks turned aside 29 of 32 shots for the win, while Joel Vienneau stopped 31 shots in defeat.
Guelph was 2-for-6 on the power play, while Kitchener went 0-for-3.
Guelph opened the scoring early as Garlent banged in a rebound at 4:53 with the Storm on the power play. Murphy got that goal back just 33 seconds later when a rebound landed on his stick and he slid it past Sparks.
The teams then traded goals less than two minutes apart, with McGinn deflecting Pedan’s point shot between Vienneau’s pads, before Derek Shoenmakers banked a shot off Alberga and past Sparks.
Guelph went ahead 4-2 in the second period on goals by Mitchell and a power-play marker by Pedan, before Bailey went end-to-end to beat Sparks at 11:53 to bring the Rangers back within a goal.
The Rangers thought they’d tied the game with 1:08 remaining in the third, but the goal was waved off as it was knocked in with a high stick.
Kosmachuk then sealed the win at 19:36 with an empty-net goal.