What you are looking for is image binning which is different from resampling.
- binning: take the average of a grid of pixels (e.g. 2x2 or 3x3) and store that as a new larger pixel
- resampling: sample the value of an image at new locations (often, not integer pixel location, aka in between the pixels)
The algorithms used for the two methods are very different, and the results with respect to “noise reduction” are also very different.
- binning: noise is reduced by a factor sqrt(n) where n is the number of pixels in the grid
- resampling: noise mostly not reduced, it can be reduced slightly or amplified slightly depending on the interpolation method that is used (bicubic, linear, nearest, etc.)
In general, resampling is way more versatile since it can do re-sizing of any factor, and also enlarging. Therefore, this is what you will find in most software tools (like vuescan or photoshop). In fact, I’ve searched for tools that can do binning, and I only was able to find ImageMagick’s “-scale” option to do actual image binning. (It is quite popular in astro-photography, so I bet some of the typical software used there can do binning.)
A workaround would be to apply a blur filter before resampling (e.g. gaussian filter). The blur filter will reduce the noise (and reduce detail), and the resampling will then reduce the file size. Strictly speaking, this is not the same as pure binning, but the end result is very similar.
As to doing the NLP conversion before or after, I don’t think there will be any difference.
P.S. For those who have similar questions but use camera scanning. The story is a bit more complex due to the bayer filter (or x-trans) on your camera sensor. Here the improvement due to binning can be a bit enhanced as it can combat some of the artifacts from demosaicing, DCraw has a special option to do 2x2 binning and demosaicing at once (e.g. -h Half-size color image) which is very similar as to store your RAW files in half size in the camera.