The back-to-back PMOS pair is a good idea to make a switch that will switch off in both directions. (Of course with just one PMOS, due to the body diode, one direction is never off.)
The reason why your approach doesn't work is that it will actually not properly handle all 4 cases: VUSB on/off, VBST on/off. Just think about each case, and how your circuit will behave. You'll see that controlling the MOSFETs correctly is definitely not this simple. For instance, you definitely can't pull up to VUSB to control the upper PMOS pair. When VUSB is not 5V, it won't pull it up to anything, and the transistors will conduct...
Of course the simplest would be to use two diodes. Schottky diodes will have less voltage drop (and thus power loss), but beware of their relatively "high" reverse leakage current. Not necessarily a problem in your application, but just something to keep in mind.
Now if you're OK with the voltage drop (how low can the output of your "UPS" be to still fulfill your requirements?) you'll get with Schottky diodes, but would still like to minimize losses when on the battery, whereas you don't care when on USB, I suggest the following schematic. You may think that duplicating the bottom structure with the transistors for the VUSB path will work, but it won't. There are cases that would make it fail, and the controlling part would get even more involved than this. A bit too much for my liking, so I'm suggesting this. Would still need a few transistors... Check it out, it should work as expected (with priority for VUSB, shutting down the battery path even if the battery is connected when VUSB is present).
If anyone manages to get it right with fewer transistors, don't hesitate to chime in. But make sure all cases are properly covered first.
There are also integrated OR'ing controllers. I suggest looking them up; they are simple to use, integrate more protections and will reduce part count.