When I mosaic two rasters, the size of the resulting raster is almost always larger than the sum of the sizes of the original rasters. Why is that?

Short answer: your GIS software needs to fill the blanks in the area with NoData pixels. Long answer: I will demonstrate what happens by an example on QGIS 3.18, and show why the final raster tends to be larger than the other two summed.