More sigh. So, looks like my system is borked.
Okay, two sockets, we'll called them socket 0 (closest to heatsink) and socket 1.
And two memory modules, we'll call them module A and module B.
1) Socket 0 = module A / socket 1 = empty
This worked. Took around 90s to train the memory before booting
2) Socket 0 = module B / socket 1 = empty
As with option 1
3) Socket 0 = module A / socket 1 = module B
This booted, again taking around 90s to train. But lshw shows socket 1 as being empty, and only half the memory is visible in the bios and in linux
4) Socket 0 = module B / socket 1 = module A
As with option 3
5) Socket 0 = empty / socket 1 = module A
This never booted. Well, I gave it 5 minutes before giving up (actually I think more than 5 minutes the first time I tried)
6) Socket 0 = empty / socket 1 = module B
As with option 5
So it looks like socket 1 just isn't working at all. With only that socket populated, the machine sees no memory so doesn't boot. With both sockets populated, only the memory in socket 0 is seen.
Guess it's time to contact Minisforum, sigh.