I have tried multiple proxy programs to the same effect... Right now I am trying it with Charles Proxy.
After starting the program, I get prompted for my password, and then I can see that the program inserts itself as system proxy for "Web" and "HTTPS" traffic, using the port number that I provided (8866).
When I use curl like this
curl --proxy localhost:8866 http://example.com
the request shows up in Charles. But when I make the same request in any browser, it doesn't work. Now, for example with Safari, which I want to debug specifically, the browser's proxy settings are connected to the system proxy settings, which means the browser is suggesting that it will just use the system proxy settings. But this does not seem to be the case, as only the request made via curl is being recorded.
Basically, I can confirm that Safari does not respect the proxy settings at all, and there does not seem to be a way to make it do that, since every guide I read points me to the same system proxy menu. But it does not matter what I enter there, Safari is not reacting to it, not even after restarting.