I’m a bit confused by the implementation of your blueprint. It looks like you are actually multiplying the runspeed by Delta time, and then using that to set the max walk speed of the movement component used by the default character class. By multiplying the character movement component by the frame rate, you actually are potentially causing the error since now you’re constantly changing the max walk speed per frame, when it is already programmed to be the MAX regardless of frame rate differences.
Not sure if I worded that correctly, but to try and be clearer, the max walk speed should be a variable that only really should change on a state change, such as setting it to be 600 instead of 400 when the player presses the Sprint key. By multiplying that by Delta time you are infact potentially making it be less or more every frame.
One case where you would multiply by Delta time would be if you are manually yourself causing the actor to move each frame by getting the actor location + ( forwardvector * (yourwalkspeedfloat * world Delta time) and setting that to be the actor location that frame, which would make it frame rate independent. The handling of the actual moving of the character movement component is already programmed to be frame rate independent, so I believe in essence your causing it to break by changing the max walk speed every frame when it should just be static and not multiplied by Delta time at all.
Hope that helps!