So adding bind=127.0.0.1 does nothing? What's the point of this setting then?
It does. If you're using any proxy, Tor for example, peers can still connect to you via your clearnet address. This can happen even if you specify oniononly, which only ensures outgoing connections to onion address but doesn't restrict your incoming connections.
If your IP has previously been used with a clearnet address and you didn't bind your Core to your proxy, then incoming peers can still establish a connection without going through your proxy or Tor instance.
Adding bind=127.0.0.1 combined with proxy=127.0.0.1:9050 would make your Bitcoin core would only connect over Tor.
Using the proxy already routes the connections to the peers over the proxy that is specified.