Ok, we've been seeing some users having trouble with this, while for others it works just fine. After some digging, we think we've found a couple of issues.
First of all, CocoonJS searches for fonts by filename, and not by the internal font name. This means that if the font name is "my super font!", but your file is named "my_super_font_0.ttf", Construct should ask CocoonJS for a font named "my_super_font_0". We know this is not "standards compliant", but it was the easiest way for us to add this feature.
Also, there seems to be some trouble with some Construct exports we're getting, which instead of having a folder named "fonts", have font filenames that start with "fonts\" (which on Unix file systems is a valid part of a filename). This means CocoonJS doesn't see any "fonts" folder, so no ttf files are loaded.
We are guessing the way Construct generates the zip file doesn't correctly generate folders, but we're not quite sure yet. If you want to check if a zip file is correctly constructed, just unzip it on an OSX machine, and you'll see if the "fonts" folder is created or not.