my interpretation is:
H(actual data +
version + signature type + pubkey algo + hash algo +
hashed subpacket length + hashed subpackets +
0x04 + 0xff + length of hashed data from sig packet)
or
H(actual data +
fields of sig packet from version through hashed subpackets +
trailer of six octets a la section 5.2.4)
perhaps someone else can confirm ;-)
note that your definition of (b) says "incl. subpackets", but
actually, you don't include unhashed subpackets...but you probably
meant that anyway, right?