Shotcut drops or duplicates frames to achieve the desired speed. If you set speed to 0.5x, Shotcut will duplicate every frame to make it run slow. If you set the speed to 2.0x, Shotcut will drop every other frame to make it run faster.
Framerate conversion occurs separately from this process. But the idea is the same: duplicate or drop frames to achieve the desired rate.
When both speed and framerate is being changed at the same time, these processes coordinate to find the best ratio of drop/duplicate.
Any time you have a process that drops/duplicates frames, you have a risk of a studdery motion effect because you may not be able to display all frames with the exact temporal spacing. For example, in order to achieve your desired result, Shotcut may have to duplicate frames in some pattern like: 2, 3, 2, 3, 2, 3, 2, 3. Due do that, you will always have a reduced studder effect if you have a higher frame rate on the output. So I would expect 60fps output to appear “smoother” than 24fps.