Just wanted to provide closure to this thread in case someone stumbles across it in the future. The peripheral mapping configuration in Kodi either isn't enough to solve this, or I just haven't invested enough time into getting it to work. I suspect the former.
Just for context, I also rebuilt Kodi using the latest libcec. Kodi depends on libcec for cec device detection. Upstream libcec doesn't currently appear to have the logic needed to properly handle detecting the working /dev/cec0 device through the DP++->HDMI adapter path exposed through my i915 IGP driver.
So while cec-ctl ( using the Linux kernel CEC API ) is able to leverage /dev/cec0 properly and receive/send cec signals including the remote control signals, cec-client ( using libcec ) fails to detect any devices, so Kodi never knows to initialize any peripheral data. I could be missing something to making libcec work, but that will require I read through the libcec codebase further.
If you are testing the "functionality" of cec using the kernel API, you can use cec-ctl to register ( not sure if I'm using the terminology properly here ) the device type ( I use --playback ) and set features ( e.g. --osd-name "Kodi" --feat-deck-control --rc-src-media-top ) and the CEC enabled devices through the "cec bus" will start rambling if working.
If you're driver is already creating a /dev/cec0, you're part way there and cec-ctl will work when you register as a playback device.
If you can see the other cec devices and the signals/messages while monitoring ( e.g. cec-ctl --show-topology --monitor --raw-msg ), then there isn't any actual physical component issue. Messages going back and forth between external devices and your playback device means that physically, your CEC functionality is present.
When I had a non-functioning / cheap cable, I didn't see the topology consistently if at all ( TV, soundbar, etc will show up in messages and topology ). With a better quality cable ( apparently thicker gauge/fuller ), the topology and messages showed up fine when monitoring with cec-ctl, and I could even suspend, power off/power on the TV and take focus using various messages to the TV ( e.g. using cec-ctl --to ).
Perhaps I will explore looking into what improvements libcec might need to better detect this particular arrangement, as this is probably so niche that it likely won't ever see any effort. The alternative of adapting Kodi to use Linux API + libcec to detect cec devices it would be significantly high effort as well, and the workarounds ( LIRC / PulseEight / Etc ) is commonly lowest effort to get something up and running as is regularly recommended here on the forums.
In any case, the test steps outlined in this thread I think are a better, more conclusive way to determine CEC functionality on Linux and doesn't appear to be well documented anywhere else. This is irrespective if the software stack ( Kodi on libcec ) can take advantage of it or not.