You might be using the rate change tool to change the length? You need to use the trim tool (active when the selection tool is activated and you put your cursor at the end of a clip) which would keep the keyframes in place. Of course you would have to move the keyframes if you want them in a different place once you trimmed the clip.
You can set Intro and Outro sections of the graphic that are then "protected" when changing graphics length. Look for the Intro and Outro controls in the EGP panel Edit tab.
This happens using the method you described. Selection tool hovering the end of the clip. Doesn't work. At least in my 2018 CC version.
However I shall say that I indirectly got the solution from your answer. When using the selection tool, if you over the end or beggining of the clip, you Lenghten or Shorten the layer, which - changes keyframe times.
The Solution is Ripple Trimming and Extending, which - doesn't change keyframe times.
Simple command for that:
B - Ripple edit tool
Best commands for that:
W - ripple trim next edit to playhead
Q - ripple trim previous edit to playhead
Shift + W - extend next edit to playhead
Shift + Q - extend previous edit to playhead
Thanks for the help! I wouldn't have come across the solution by myself