Some notes about how I cook my pies
I've been doing Bitcoin and Java development on Raspberry Pis.
I'd say the first rule of Raspberry Pi development is minimize the amount of development done on Raspberry Pi hardware. (It looks like you're doing this by using the same C++ compiler as you use on your Mac) In my case using Java and Docker help me keep things cross-platform so I can do most of my development on my Mac. I need to "up-my-game" in this area and learn how to use some even better tools for cross-platform development.
On the hardware side, I've built a fairly powerful Raspberry Pi using the following components:
* Raspberry Pi Compute Module 4 with 8 GB RAM
* WaveShare CM4-IO-BASE-B with M.2 interface for NVMe SSD https://www.waveshare.com/cm4-io-base-b.htm
* An M.2 SSD, I'm using this one: https://www.amazon.com/gp/product/B082MS2KBB/
Most of the CM4 carrier boards to not include USB 3, so be careful what you order if you want USB 3.
I've also had good luck with a standard Pi 4 and a USB3-attached SSD. I'm running two (MainNet and TestNet) Bitcoin Core full-nodes via Docker on one of those (1 TB SSD)
I would also recommend keeping an eye on Jeff Geerling's blog and/or videos as he does very thorough testing on various hardware/software configurations that can be helpful: https://www.jeffgeerling.com/blog
(The Turing Pi 2 looks interesting, I am considering ordering one of those.)