I investigated this a few months ago and I decided against a single system - for several reason:
- Clear separation between Router and NAS for security reasons - i.e. there is one more layer of protection
- I want/need a full-blown OS on the server - yes, OpenWrt could run in a VM
- Availability: I do more experiments on the server and I need to reboot it every now and then, compared to my OpenWrt box
- Single point of failure - if the server is down, everything is down
A good writeup on the pros and cons is this thread: Would it be a good idea to run OpenWrt main router under a virtualization server?
Ultimately, I went for:
- ipq4018-based router which is more than powerful enough for my 100M connection and has an LTE backup option as an added benefit.
- Custom NAS based on an Asrock QC5000-ITX that I'm using for several years now; this also runs Home Assistant and a bunch of other services
IMHO it makes sense to reduce the amount of devices in your case, like RPi + NAS could very well be a single device. I would just keep the router separate, but this also depends on your WAN connection speed and personal preference.