I think the issue is that there is a reset command issued before going into the binary mode for Bus Pirate. This is to make sure BP is initialized correctly and serial commands will not do anything weird down the line. In v3 this is not an issue as USB communication is handled by the FTDI chip. But in v4, USB is directly attached to the PIC microcontroller. If PIC resets, the whole USB stack restarts, resulting in communication loss.
I vaguely remember somebody posting patches where reset was just causing the BP stack to reset without touching any HW peripherals. Maybe community firmware has this implemented?
Are you flashing the bootloader first vıa PicKit and then trying to flash the firmware via bootloader?
I think the bootloader has the fuse settings that determine timing which the firmware depends on. Also I've seen fuse settings getting skipped when programming from time to time, I would verify that those are getting programmed as well.
Serial line signals are TXD (transmit) and RXD (receive); you also need GND as that is the reference. No need to solder +5V as it seems like you are plugging the memory stick anyway. One thing I hate about serial is that direction is not obvious and it's not easy to figure out which direction those labels assume ( who is transmitting and who is receiving?!).
Looking at the picture in the slides and zooming in, it looks like they just connected GND pad to GND pin and TXD pad to TXD pin on Bus Pirate. RXD is not needed as that's for receiving data and you just need to send data to unlock it. If it doesn't work, you can connect RXD pad on the USB stick to TXD pin on Bus Pirate and try again.