On VCS we pass the SDP transparently for the most part, there are little tweaks that happen with the advanced zone configs, but that's to help interop not to force codec selection.
CUCM has the ability to prefer codec selection though, it's usually used to select a low bandwidth codec for running over the WAN.
A 9951 and E20 should be able to do g.722.
Can you perform a trace line side on the 9951 and see if the SDP looks the same by the time it hits the VCS?
Also raising a case with TAC may also prompt a quicker answer than this forum.
Thanks
Richard