If users are using MyISAM, then this is much too small:
> key_buffer_size 8388608
This says that they would have to be explicitly asking for MyISAM:
> default_storage_engine InnoDB
Perhaps too low:
> innodb_open_files 300
Is there anything useful in the slowlog?
> long_query_time 2.000000
Because of the way the QC does its work, this is too large:
> query_cache_size 536870912
See
http://mysql.rjweb.org/doc.php/memory for further discussion.
The only thing that (in my opinion) really addresses your question is
> Opened_files 8995586
But I don't have any advice on how to shrink it. Sorry.
One more thing... You did SHOW STATUS, which showed the "SESSION" values. Please provide SHOW GLOBAL STATUS. Could it be that something is doing FLUSH TABLES much too often?