Need help resolving ESD problem
As this is a portable USB device, there is no chassis ground.

This is wrong. Your conductive enclosure is the chassis ground. ESD design does not happen independently of the enclosure.
You carefully select which ground points on your circuit will be connected to the enclosure as chassis ground in order to maximize the free space capacitance so a ESD charge introduced to it will change the voltage as little as possible.
At the same time, you have to select these point so that an ESD discharge won't flow from your enclosure through your board. This means grounding like panel-mounted connectors and switches to the enclosure, and not your PCB. Sometimes it also means having a small split plane on your PCB where the split plane is well connected to the enclosure and acts as an extension of chassis GND so ESD currents don't flow through your actual circuit ground, though this is not applicable to your case.
Also, the TVS diodes are supposed to connect the pin on each connector and switch directly to chassis GND. This includes the GND pin on connectors. I know, it's pretty weird. You might have to sit there staring at things for a while to try and figure out how a common mode ESD flows into and charges everything in your system.
Painting the enclosure in an insulating paint also helps.