Thanks Gordon. Hadn't realised that about Eddystone.
I suspect the issues were a mix of user error and the start.sh script not updating the names displayed. When it refreshes, it spots new devices ok, but doesn't seem to switch from "?" to actual name (e.g. when I tried NRF.SetAdvertising to try and force a name whilst trying to figure out what was going wrong).
Still not sure why the Pi and Windows with Bluetooth polyfill were showing hex ids instead of names.
So maybe a bunch of red herrings.
It's fantastic to have this now. All my Windows issues are a thing of the past!