The approach you outline in the steps 1 to 4 will work to a degree, and may be used in some very basic video upscaling systems. However, the results may not be satisfcatory. A very typical problem will be flickering due to inconsistent upscaling choices made on consecutive frames. In addition, upscaling and interpolating the spatial dimensions of a video sequence will increase the pixel "jumps" between frames (more pixels will have large change between each frame), so to keep the output visually smooth it is often desirable to increase time resolution, i.e. increase the frame rate, interpolating smartly between frames.
The first problem, differences in details when processing frames separately, is called temporal coherence. There are a variety of ways to increase temporal coherence when upscaling. All require some comparison between consecutive frame images. Some are specified as soft constraints, or a loss metric applied to the processing during upscaling. Many models are trained specifically for video upscaling, taking multiple input frames, so that such losses can be used to improve the core model.
Sometimes, temporal coherence can be implemented as a modifier when recombining the upscaled frames - i.e. as part of your suggested step 3. This will be ok for simple interpolation upscaling that doesn't attempt to add missing details. It will tend towards smooth blurring for the upscales, similar to the simplest upscale options in image editors.
This is still an ongoing area of research, with papers routinely published. Here are two that I found on a quick search. I have not vetted these papers for whether they might be useful to you, they are just examples:
The second problem, frame rate increase, is solved by having models specifically built to solve that problem. Again this is usually achieved by having inputs of consecutive frames that need interpolating, but this time output will be an interstitial frame that is not an upscale of either input. Training data for these models is typically high frame rate videos where the input has had frames removed, and the output is the relevant missing frames.
Some video generation models perform both tasks - image and frame rate upscaling - starting with an initial small low frame rate generation, and alternating layers between frame rate increase and image size increase.