How to speed up and slow down time in VSE?

I’m having trouble getting the VSE’s speed control to do what I want. It’s fine for simple things like applying a uniform adjustment to an entire strip, but I’m finding it difficult to make it do something more dynamic.

I recently tried to put together a tutorial video where I tried to mix together several video clips captured by OBS and sync them to an audio track. This required me to make some sections of the video clips speed up, others slow down, and there were several places where I needed to freeze frame. While the Speed Control can apply a uniform speed to an entire strip, if you try to key frame it to adjust the speed at a particular frame, it seems to be ignored. And if you try to cut your strip at a particular point, the speed control applies it’s effects based on the original starting point of the clip, not the spot where you cut it, so you have to do a lot of fiddling to being the starting frame of your cut section back to where you cut it. And freeze framing seems to be impossible for anything other than the final frame of the clip.

Is there some better way to adjust time when working with the VSE?

Edit:
Basically, I’d like to be able to add an MP4 strip to the timeline and then say something like “play frames 1 - 100 at normal speed, frames 101 - 400 at 4 times speed, then hold on frame 400 for 3 seconds and then play the rest of the strip at normal speed”.

Hey.

If I recall correctly, to avoid that issue of the speed affecting the start of the video instead of the clip, you have to do a hard cut not a regular cut.
Also animating the speed multiplier has worked for me before, I think you just have to refresh the scene and it’ll play correctly. It should be fine once you render it out too.

I might be wrong tho, I haven’t done these sorts of edits in awhile.