Need help to save my engagement :(

I think this is the most important part of your post. You don't want to break up with him, so you need to make it work.

First you need to decide that if push comes to shove, who's career takes precedence? If it's his and he has good reason to want to complete his studies in Pak, then you should probably think about going there. 3 years might seem like a really long time but it isn't and I'm sure you can find a good teaching job in a private school teaching A level.
However, bearing in mind that it is only 3 years, what's so wrong in getting married and continuing to live in different countries? You don't need to delay the marriage.
Me and my hubby are doing this currently. I know other professional couples who have had to do this in the early days too. And what about all the guys that come here on work visa's and can't bring their wives over straight away?

But to begin with you/your family need to talk to him properly and establish why he feels he needs to go back to Pakistan to obtain the degree and why he has changed his mind about Canada. Can he not be convinced? Put it to him that you can both be more successful in moving to Canada, so why is that not his first choice? Does he not think your work/study is also important?

If he's still not budging then you need to decide if you still really want to be with him. If the answer is yes, then you can suggest the first points I mentioned with the last resort just accepting to go there for the 3 years.

Marriage is about compromise. You need to decide if you can start compromising before you're even his wife (in the case that he can't be persuaded to consider your wishes also at this stage). And if it's you doing the compromising now, it will likely remain that way. It's something you need to make peace with and accept and if you can't, then he's not the right guy for you.