Happily, JLCPCB had parts which worked for all of the parts on one side of my board.
Kicad screenshot and picture of the finished item attached.
I had jlc assemble one side, two boards per panel, which I panelised myself in the gerbers because my individual boards are very tiny (smaller than jlc's minimum size) and had no space for tooling holes. Those were attached with mouse-bites, and I was able to snap them off easily with no problems, the boards are 1mm thick.
I soldered the radio module to the other side of the board and the finished item is shown in another attachment (with a rule).
Overall, their service was cheap and very good.
What I'm slightly worried about, is if I want to make another batch, the motor driver chip drv8837d is now out of stock (
https://jlcpcb.com/parts/componentSearch?searchTxt=drv8837 ) so I can't order any more of these assembled. Had-soldering this chip is a royal pain in the backside (dfn8, 0.5mm pitch), as I did with earlier prototypes.
I originally used the Atmel attiny3217, JLC didn't have that, but they did have the attiny1617 which is almost identical (less flash memory, still enough) - so I fitted that instead.
I think their service is excellent for short production runs where you want to make e.g. <100 pieces and another manufacturer would probably charge too much setup fee.