How can I force admin-ajax.php to load over https?

We're using Elementor Pro which has a pro widget that uses ajax to submit contact and other form requests. This is also common with various woocommerce functionalities and contact form solutions like Contact Form 7.

The problem is I've enabled https on 100% of the site. All assets are loading over https except admin-ajax.php and a few other files from other plugins. Even wordpress core has it hard coded to use http version in its code.

How can I force these ajax requests to use the https version of admin-ajax.php?

I've followed all the advice here: https://codex.wordpress.org/Administration_Over_SSL

I've created an .htaccess rewrite rule for all assets on http to be redirected to https, but even this isn't working. I suspect these won't work since some of these calls are hard coded into the plugin code or because is_ssl() isn't working properly.

Any thoughts on how to fix it?