How to optimise Text to HTML ratio for SEO by separating the HTML into multiple files?

Elementor does add a lot of extra html markup. Not much you can do other than recreate the html without elementor. If you use elementor and create a section, then put html in an html widget you can bypass all the extra stuff. You can also create a shortcode to bypass the elementor editor then have your html in a file and include that in your shortcode.
Also, don’t nest the containers too much in elementor, that can add a lot of html markup.