I can’t recommend and exact part number, but can give you some key features to narrow your research (from the requirements you posted). The camera module needs to:
Be I2C or SPI compatible, so you don’t have to mess with other protocols not yet supported by RAK core modules.
Include a FIFO, otherwise you will need lots of RAM to store your image.
Native command for scale image, so you don’t have to juggle with framebits.
Support snapshot mode.
Support RAW output format (easier to manage than compressed formats)
You could look at some of the things people use with the more primitive ATmega-based Arduinos.
But the key issue is that the extreme bandwidth limitation of LoRa makes sending images over LoRaWAN all but unworkable.
Think about what the minimum x * y * greyscale resolution to have anything useful would be. Then pack to bytes, and compare against LoRa packet lengths at various data rates. If you can use SF7 you might barely accomplish something split over multiple packets spaced out in time, but beyond that it’s really unworkable - you’d need to look at a cellular data solution, either traditional or one of the “in-between” scale technologies like LTE-M.
As for guide, you can look on tutorials how to connect OV7670 to nRF52840 since that is the same MCU used on RAK4631. There must be some libraries compatible to that.