In hindsight, it seems obvious, but the trick to giving your newly defined Bluetooth peripheral a name that’ll appear on other devices is to have it provide a ‘generic_access’ service with a ‘device_name’ characteristic.

Specifically, you want a service with the UUID suffix 1800, and a readable characteristic with suffix 2A00. The (summary) spec is here.

(Incidentally, as far as I can tell, the word ‘excluded’ relating to characteristic properties means it’s implementation-defined – it doesn’t seem to be specified in the spec.)