Is there a way to preserve unfilled areas in stabilized footage?
You may consider to load and save / overwrite source image for the calculation for each NEXT frame:

You can make some blank files with the same name with the target output filename, and put them in the render output folder BEFORE rendering. For example, you have an image sequence of 500 frames, then you should put at least 500 image files with the same name (whatever they are, even blank) into the render output foler. then add them into VSE, put into a channel below the current sequence, set the Blend mode of the current sequence to Alpha Over. and one frame ahead, then render. The output images will overwrite the existing ones, and luckily the calculation for the next frame will always load from disc (not from buffer or memory). Like this:



Before:



After:



NOTE: You have to realize that the offset between two adjacent frames is often more than 1 pixel (unless the camera moves extremely slow), so, as I tested, this idea usually isn't perfect, but works.