Is using display: none the proper way to hide elements in a theme?

What you should do is first make sure you’re using a Child Theme:
https://codex.wordpress.org/Child_Themes

Then you should be able to copy over the template file being used in the parent theme, to your child theme’s directory, and customize from the child theme directory as you want. WordPress should automatically load the file from your child theme if it exists (assuming the template file is a standard WordPress file)

https://developer.wordpress.org/themes/basics/template-hierarchy/

https://developer.wordpress.org/files/2014/10/template-hierarchy.png

Using display: none; is a very common CSS method of hiding elements, but that also means that the page size, load time, etc, will include those elements, any backend calls, etc.

Your theme developer may have integrated some filters as well which you may be able to use to prevent specific items from being output, your best bet is to contact them and ask and pretty much all premium themes come with some type of support.