Let’s try to drill down to what’s causing this, then we can get to fixing it.
We want to know if this is caused by WordPress itself, your active theme or one of your active plugins.
The basic troubleshooting plan is to switch to a default theme and disable all plugins and check if the problem is solved. If this solves the problem, then we know it’s not WordPress itself: it’s either your theme or one of the plugins. We can then turn on the plugins one after the other, testing each time, to see which one triggers the problem again.
But you also probably don’t want your website visitors to see your website looking funny while all this troubleshooting is going on ??
This “official” troubleshooting plugin allows you to have a vanilla WordPress session, where all plugins are disabled, and a default theme is used, but only for your user (site will look and work as normal for your visitors)
https://www.ads-software.com/plugins/health-check/
Go through this and let’s see if you can, at least, identify the culprit.
Good luck!