Is there a way to move the keyframes automatically with duration change?
Since this is a still image, what you can do is use the "Rate Stretch" tool (keyboard shortcut: R) and stretch the image shorter. If the keyframes don't move with the Rate Stretch tool, you can always create a "Nested Sequence" of just the image (Premiere Pro's rough equivalent to an After Effects precomp) and then rate stretch your nested sequence. This will stretch both the image and the keyframes together.
Another trick is:
- copy the clip with the keyframes (Ctrl/Cmdc),
- delete the keyframes,
- make your adjustments to the timing of the clip,
- and then paste the attributes back on to the re-timed clip (right-click the clip and from the context menu choose Paste Attributes…, or go to the menu Edit > Paste Attributes… or hit Ctrl/CmdAltv).
Make sure that
Scale Attribute Times is checked, and select the attributes you want to paste, and it will stretch or squash them to fit the new length.
This works for video clips as well as still images, and you can use any trimming tools to change the length of the clip. Deleting any existing key frames before pasting the new ones is necessary if you're pasting back on to the original clip.
Pro Tip This trick works in After Effects and Final Cut Pro too.