Would it make sense to add it as a feature to the official Espruino build?
Well those three channels is how BLE Advertising works, there is a reason for advertising on multiple channels. You risk missing some packets when your selected channel becomes temporarily unusable due to noise.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Not sure this is possible to do with softdevice (here is old post where it is solved outside of BLE stack by running custom code in radio timeslot https://devzone.nordicsemi.com/f/nordic-q-a/8902/scan-in-a-single-channel ) but recently at least the scan window and interval became configurable if that helps a bit https://github.com/espruino/Espruino/blob/0325da029cc828c377a76c5dea684a8d7520e1b0/ChangeLog#L8
Well those three channels is how BLE Advertising works, there is a reason for advertising on multiple channels. You risk missing some packets when your selected channel becomes temporarily unusable due to noise.
BTW there is interesting related technology called PAWR in BT 5.4 https://devzone.nordicsemi.com/guides/nrf-connect-sdk-guides/b/software/posts/periodic-advertising-with-responses-pawr-a-practical-guide that improves advertising for better timing and bidirectional communication to avoid using connections but have similar features. Sadly using 5.4 means moving away from SoftDevice and classic SDK.