WoL doesn't have to a specific packet. On Windows you have a choice between a magic packet (which is special), or just allowing the system to wake on any ARP or IP packet that's sent to the system's IP address. What was added in Windows 7 was a way for NICs to respond to ARP, ping, NDP while the system is in low power so the system doesn't wake for these. Seems like MSFT research should have factored this into their, um, "research".
The other thing they added was that waking on ARP/IP has historically been designed around using a sequence of bits and a mask as a filter to decide which frames should wake the system. This approach was changed so that more generic concepts like "TCP SYN" can be used to match packets. The difference is that you need multiple filters to handle TCP frames that use different extension lengths, while the latter approach only needs one.