To fix the mixed content, most of which comes from media files, download a free plugin https://wordpress.org/plugins/better-search-replace/ .
Don’t do what I did the first time and replace http with https because that will replace existing links with https to httpss . instead replace http: with https: After everything is working you can remove the plugin.
If you are using the free Cloudflare CDN, Siteground will tell you that you will need to pay for that. There is a way to work around that.
Switch your nameserver to a free Cloudflare account instead of using SiteGround as your nameserver and then click on “Crypto” and followi instructions to add “Full” certificate. You can try the “Full (strict)” using an “origin certificate” but I had a problem making this work so just changed to full and used free Let’s Encrypt on SiteGround.
Good Luck. I have been through this on both a WPEngine site and a SiteGround site. In both cases I did it with the Staging site first.