Note that if you use shift-D to duplicate keyframes in the dopesheet editor, they are duplicated and linked to your mouse movement, so drag the mouse left/right on the timeline and you’ll should see the new keys. Also, and maybe this is what you were trying to do, because I just did it, just now, out of habit. In the dopesheet editor if you do a shift-D to duplicate, then follow with a shift-S to snap the key to the cursor, it won’t work. Move the key manually left/right with the mouse, then shift-S to snap to cursor.
How are you doing your lip sync? I view a phoneme graphic picture of the basic phonemes, create a pose library of the basic shapes of the mouth for each phoneme, then just insert the pose as I scan the timeline listening to the audio. Go thru the animation then a 2nd time adjusting controllers as need to fit the mood. If the character is yelling, open the mouth more, if whispering, close the mouth more.