Just got home and verified the above - use this for reference:
<key>usb0</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.wch.usbserial</string>
<key>IOClass</key>
<string>wch_usb</string>
<key>IOProviderClass</key>
<string>IOUSBDevice</string>
<key>idProduct</key>
<integer>22</integer>
<key>idVendor</key>
<integer>6486</integer>
</dict>
the kext is part of a usbserial driver which can be found here:
http://kiguino.moos.io/downloads/CH341SER_MAC.ZIP
just edit the Info.plist in /Library/Extensions/usbserial.kext/Contents/ to the above within the <dict>
22/6486 are the decimal equivalents of the hex Vendor and Product ID - the Plist must have decimal not hex
note (and likely why most people fight with this): once you are in serial mode, the scanner needs to qualify the port to remain in serial mode.. that is why (if nothing happens) it reverts to MSC mode (mass storage). If you are toying around, something as simple as "screen /dev/tty.usbmodem 115200" (or whatever port it is on your system) will open the port and the scanner will remain in serial mode. I believe when I was playing with this, I almost instantly ran "ls /dev/tty.usb*" to see if the serial port appeared - before it disappeared. Doing that gave me its port identifier, then it was just a matter of opening the port briefly once in serial mode. Note 2: This can be automated with a script upon device appearance so you dont have to muck around.
Last note: You could do this with really any USB/Serial Kext (I referenced PL2303 in my first post, you could use FTDI, etc) - as long as the correct decimal of the VID/PID are in the <dict>. I assumed I had used the PL2303 kext but I was mistaken, so I have referenced what will work for sure above.
Hope this gives you enough to get it up and running...
(Currently using my HP-1 on OSX using the oh-so-handy HPe-rc python script/web control

)