For themes, safe mode will 100% disable everything.
It’s fundamentally impossible for us to disable server-side plugin customizations on a per-web-request basis, so that’s why safe-mode can only disable client-side changes. It can still be useful to narrow things down though
If things work in safe mode, it must be theme/plugin causing the issue
If things are still broken in safe mode, it must be core or a server-side plugin issue
Perhaps we should improve the /safe-mode text to explain that. Currently it says
Safe mode allows you to test your site without loading plugins or themes.
Maybe we should make that
Safe mode allows you to test your site without loading themes or client-side plugin customizations. Server-side plugin customizations remain enabled.