So, no answers yet, but I've learned that the script does ultimately end up calling mkuserimg.sh to do the dirty work of building the image. Here's the command line it uses:
mkuserimg.sh /path/to/data/root /path/to/output.img ext4 data (partition_size) -T 1230796800 -L data
That's a little different from what I was trying, particularly listing the mount point as data, setting the explicit timestamp, and setting the data label. Also, it doesn't seem to require the folder to be an ext4 mounted image or anything, it seems any directory will work. (it copies the zip contents to a temp directory first, then passes the temp dir down to mkuserimg.sh)
Has anyone else tried this exact command already?
Also, one other possible complication that might be relevant. The use of mkuserimg.sh is configurable, and looking in the makefiles it is also possible to use a script called mkuserimg_mke2fs.sh instead, which uses mke2fs instead of make_ext4fs. There's an indication that make_ext4fs binaries don't work with some devices in the sources, but so far I've found no list of devices for which that is actually the case.