As small as possible. A two port NIC would be sufficient if I found a really compact case and motherboard. It prefer it to be powered by an external 12v power supply.
For two ports, get a sw302da (or better) or the APU2 (or better), they come with at least 2 intel ethernet ports, and at least one SIM slot - https://pcengines.ch/apu2.htm
Roqos RC150 would check all of your boxes, even comes with a 4G modem, so no work required,
but it's bigger.
I thought about getting one of those atom boxes with lots of 2.5 gbe ports and maybe I should have but I ultimately just thought meh and bought a Ubiquiti Switch Flex XG
It seemed a bit pricey but I guess it was still OK considering all the port speeds are covered up to 10gpbs for 4 ports. It was honestly quite bizzare to setup, I have no idea why you'd ever come close to wanting your router config in a cloud somewhere but I managed to set it up locally no problems and although the software isn't too bad I still think a flat web config would have been better
I wasn't able to get port aggregation working with a D-Link DGS 1100 08 bit of a bummer but since I can have openwrt running on my modem device I get to use vlans so I can use ports on that even though I guess it's a little added security risk if it gets compromised so the 1gbps uplink port carries the public and private lans leaving me with 4 full speed ports to use how I like with the only caveat being one of them needs to faciliate access to the switch management if needed
the power adapter broke on me for some reason and although it uses a USB C port for power it didn't actually accept power going C to C BUT as long as you use a good cable going from C to A it works so it can be powered just like a raspberry pi straight off a usb port on a power strip. I currently am using one of these fancy baeus 2 meter cables that have a led display and it shows it idling at 8-9 watts with 3 devices plugged in
despite the annoyances I think the product is pretty good and still kind of lean towards having a server with like 1 fat port and a switch capable of vlans for connectivity rather than an atom device running a full linux with 5 nics in it, but maybe it was the better way to go