Okay, that may be helpful. The best way to install a theme is through the plugin gallery. If you’re just unzipping them in the plugin/themes folder they may not be recognized by OJS. There’s also a CLI tool that you can run:
Currently, my test instance of OJS 3.1.2-1 has several official themes installed:
Classic v. 1.0.2.0
Health Sciences v. 1.0.5.0
Immersion 1.0.3.0
These are the latest ones available.
Unfortunately, I can’t reproduce the problem that you describe; tested with PHP 7.2.26-1.
Can you double-check if permission for OJS are set accordingly, e.g., for cache folder? And secondly, can you confirm that cache is refreshed after changing the theme?
Can you reproduce this problem on a fresh OJS instance?
If it’s not a cause of the problem, you can test OJS on your local machine. I’d make a copy of the site, database and files folder and installed it locally. If it’s reproducible, the next step is debugging locally, if not - the problem is probably in the server environment.