Ok, I think that I see what the problem is now.
You may (?) have created proxies at 25% of the original resolution but you seem to have placed them on the top of the original image strip. Higher channel means that unless you have transparency && alpha over blending mode, the top strip will basically occlude whatever is on the lower channels. So it’s of no use really.
What is more, you don’t seem to have activated the relevant checkbox for the proxies, so I wonder how exactly you have created the proxies at all. I mean it’s possible to do it manually (that was the old way) but for quite sometime now all you need is simply to activate a checkbox.
The proper workflow is:
#1 select strip
#2 N-panel: click on the proxy/timecode checkbox
#3. set the resolution to be 50% (or lower 25%)
#4. go to the VSE strip menu: rebuild proxy & timecode indices
#5. [hang on until blender is done building proxies - a progress bar is visible on the VSE header]
#6. go to the viewer window: view settings panel–> set the proxy size to the resolution of step #3
#7. play back and live happily ever after
You should get a solid 24 fps (or whatever fps setting you have) at 25%.
If you have changed system settings to prefetching 500 frames and to allocating lots of ram, playback will be smooooooooooooooth.
If it isn’t, well then…it’s not an video playback issue at all: it’s an audio one
Extract the audio from the video, convert it to lossless audio (pcm), and use the uncompressed audio in place of the original compressed one.
In the unlikely case that you still experience problems, then you can either share the material with us to check (is possible) or file a bug.
Anywayz, proxies (should) work out of the box.
(I’m writing under the assumption that you do have a recent stable blender build)