So as an intermediate step, I tried to stop and restart without any change of configuration. Same result: Wifi goes away and never comes back.
ESP_ERROR_CHECK(esp_wifi_stop()); // triggers SYSTEM_EVENT_AP_STOP event
vTaskDelay(configTICK_RATE_HZ * 10); // 10s delay
ESP_ERROR_CHECK(esp_wifi_start()); // does nothing?
So what is the proper procedure for restarting wifi, and finally, for restarting it with a different configuration?