Thanks Rémi. Is this a known issue or by design?
Once upon a time, command line flags were treated the same as configuration parameters. This turned out to be a terrible idea, as large numbers of users accidentally saved command line that were supposed to be one-time into their persistent configuration. So now they are treated as LibVLC instance variables.
However the code handling the HTTP proxy is not tied to a LibVLC instance. On Windows, it reads the proxy from the configuration at the moment, but even that's only because nobody implemented reading the Windows OS proxy settings. On MacOS and Linux, it's different.
Bottom line, it is very dangerous to rely on the http-proxy setting one way or the other.