can you provide the sample structure you have with your version of parsing?
1EFF0600010920029CA04DCA6D1594FE05BD181C198278A9C3C49B217E94D3
Do those extra bytes contain the same bytes always?
On a first view, it does not seem so.
Also when taking the length field into consideration, we seem to be having 28 bytes.
Yes, but you don't do so, see Bluetooth Core Specification chapter 11 "Advertising and scan response data format".
Anyway, your documentation clearly says 30 and this exactly what I am seeing. So there is something missing in the docs:
https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-cdp/77b446d0-8cea-4821-ad21-fabdf4d9a569
Also, the documentation mentions a position "Reserved (1 byte): Currently set to zero.". This is not true either. This bytes is always 0x02.