The problem is that you're trying to turn off a P-channel mosfet when VBUS is connected, but you have no way to bring the gate voltage up to 9V, which is what you need to do to turn the mosfet off.
I think the answer is to move all of this down to the negative rail, and switch to an N-channel mosfet. The attached circuit may work, but you would have to test it out. When VBUS is not connected, the NPN is off, which lets R2 bring the gate voltage up to turn on the mosfet, and conventional current flows from the system ground back into the negative battery terminal. But when VBUS is connected, the NPN turns on, which grounds the mosfet gate, which turns it off.
I'm a bit queasy about the isolation of the mosfet source and negative battery terminal in the Off situation. The negative terminal may pretend to be -4V, which would turn on the mosfet. Maybe an expert can rule on whether this circuit will work.
Edit: Indeed, I don't think my negative rail circuit will work at all. But see my next message below for a positive rail circuit I found online that looks like it would work.