OK, so I found this post:
I figured what the hell, I can change some 1s to 4s and see what happens.
Everything seems to be working now. I can control the menus, it even persists control after power cycling the TV and changing inputs where previously that was an issue.
I’m not sure what device_type “4” is vs “1” but it seems to have solved my issue.
Edit: Looks like device type 4 is “Playback Device” (Source)
typedef enum cec_device_type
{
CEC_DEVICE_TYPE_TV = 0,
CEC_DEVICE_TYPE_RECORDING_DEVICE = 1,
CEC_DEVICE_TYPE_RESERVED = 2,
CEC_DEVICE_TYPE_TUNER = 3,
CEC_DEVICE_TYPE_PLAYBACK_DEVICE = 4,
CEC_DEVICE_TYPE_AUDIO_SYSTEM = 5
} cec_device_type;