Switching tack: I've configured voxl-camera-server to encode H.265 and write to /data/misc/camera:
Mem: 1396848K used, 2464472K free, 17096K shrd, 16692K buff, 318292K cached
CPU0: 32.2% usr 21.0% sys  0.0% nic 42.8% idle  0.2% io  2.1% irq  1.4% sirq
CPU1: 22.3% usr 29.8% sys  0.0% nic 46.5% idle  0.0% io  0.8% irq  0.4% sirq
CPU2: 53.7% usr  1.2% sys  0.0% nic 44.5% idle  0.0% io  0.2% irq  0.2% sirq
CPU3: 50.6% usr  0.4% sys  0.0% nic 48.7% idle  0.0% io  0.2% irq  0.0% sirq
Load average: 5.62 4.10 3.21 3/582 3801
  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
 3600     1 root     S     850m 22.4   0 30.1 /usr/bin/voxl-camera-server
 1966     1 root     S     665m 17.5   0 19.6 /system/bin/mm-qcamera-daemon
 2321     1 root     S     3988  0.1   1  0.9 /sbin/leprop-service
 2159     1 system   S     372m  9.8   1  0.7 /sbin/logd
    7     2 root     SW       0  0.0   1  0.4 [rcu_preempt]
 3445     2 root     SW       0  0.0   1  0.3 [kworker/u8:14]
And the CPU is in good shape:
Name   Freq (MHz) Temp (C) Util (%)
-----------------------------------
cpu0        480.0     66.3    25.86
cpu1        480.0     65.6    22.50
cpu2       2150.4     70.1    81.82
cpu3       2150.4     66.9    22.68
Total                 70.1    38.21
10s avg                       38.38
-----------------------------------
GPU           0.0     60.3     0.00
GPU 10s avg                    0.00
-----------------------------------
memory temp:       62.1 C
memory used:  1376/3770 MB
-----------------------------------
Flags
CPU freq scaling mode: auto
GPU freq scaling mode: auto
-----------------------------------
And this is voxl-camera-server encoding H.265, at 3840x2160x30fps, writing to flash.
So either voxl-streamer is doing software encoding very poorly, or something about the network stack is VERY broken.  I'm inclined to think the former.

 ) so hopefully I'll be able to get some documentation. If you have any pointers on getting started with this: which forums, documentation, people to talk to, etc... I'd appreciate it.