Assuming your question is more along the lines of "How to prevent back driving a USB connected RPi through an externally powered Arduino".
Consider cutting the positive power wire in the USB cable connected between the RPi and the Arduino.
As for this specific question:
But why is it USBVCC connected if the Gate provides 5V over the LM358D?
Is it possible you are describing how a N-Channel MOSFET works? The MOSFET in the schematic is a P-Channel MOSFET. The net USBVCC is connected to the net +5V when the P-Channel MOSFET gate is LOW. And is not connected when the gate is HIGH.