Sorry for flogging a dead horse, but here is my summary:
- The RF switch is not enabled (powered) by the hardware when the XIAO boots.
- The radio is still usable because of leakage across the RF switch even when it is not powered.
- Internal or external antenna performance is better when the RF switch is enabled
Starting with version 3.0.4 of the ESP32 Arduino core, the RF switch is enabled and the internal antenna is selected in software at boot time. See the GitHub commit.
I don’t know how this is handled in the ESP-IDF.
Warning - shameless self-promotion : more details about this here: Internal vs External Antenna