Why does "diskutil eraseVolume ..." add an extra "Apple_Free" partition
Instead of diskutil, try using newfs_hfs to create the filesystems. I don't know what happens in Mac OS, but in my experience, the newfs_* commands in BSD create a filesystem in a partition without changing the partition map.
I don't know why Apple likes to reserve 128 megabytes of free space before an HFS partition. I saw this in my PowerBook G4, when I used the Disk Utility from Mac OS X 10.4 to format my internal hard disk, and it put 128M of Apple_Free (partition 2) between the Apple_partition_map (partition 1) and my Apple_HFS (partition 3). I guess that one can use part of the 128M to add Mac OS 9 drivers for the disk.
Your disk already has Mac OS 9 drivers (Apple_*Driver* and Apple_Patches), so I don't know why it would need 128M of Apple_Free. I speculate that your disk might have IDE drivers but not FireWire drivers. If you would boot your PowerBook in FireWire disk mode, and connect it to some Mac OS 9 machine, then you might need some Apple_Free space to add more drivers; but I never had FireWire hard disks, so I don't know.