I'm running into a very similar issue.
I have a Catalyst 4500 switch connected (L2) to a Cisco 9K. We're using a guest VLAN terminated on the 9K for all unknown devices. The VLAN on the 9K is in its own VRF, with IP relays setup correctly on the 9K to forward DHCP to our internal AD servers.
When we connect a workstation to the 4500, we get the correct guest VLAN assignment and the DHCP Discover gets forwarded to our domain controller. When we connect an IP phone, it seems that the DHCP discover is not forwared off the 4500.. Despite it also getting the same guest vlan/Data port assignment.
Has anyone seen this behavior before? I suspect it's something to do with the way the 4500 is handling the VOIP phone.
Else is there another way I can profile phones?