Yeah it's a win-win for both parties.
Kirk gets financial security for him and his family at such a young age and is set up for life. If he suffered a major injury and missed a lot of time this season, he likely gets non-tendered and has to fight for a one-year deal like Jansen got this offseason for something under $10M. He enters the FA market during his age 32-season, so if he proves to be a 3-4 WAR catcher each season during the duration of his contract, he should still land a favourable deal afterwards as well.
For the Jays, they are set behind the plate for the next five seasons and that should give them enough time to hopefully develop a young catcher or two in the minors via the draft etc. Signing Kirk to an extension now was the right move since if he rediscovers his 2022 bat, he likely would cost more. If he just stays as a 3 WAR defensive catcher, this contract is still very good. Just got to make sure you have a good backup and that Kirk stays healthy.