It was my bad. I somehow missed the settings “force_https” and it was showing checked to me. (may be browser caching)
Another developer from my team checked that option and the emails are now received having links correctly as https.
Thank you all for your valuable comments!