do not call tcp/udp ::stopAll() when it is not required to do so by d-a-v · Pull Request #8598 · esp8266/Arduino

ArduinoOTA as well? Even a failed update kills every client
Also note of WebUpdate example

Continuing the idea, UpdaterClass should probably handle that

//This callback will be called when OTA connection has begun
void onStart(THandlerFunction fn);
//This callback will be called when OTA has finished
void onEnd(THandlerFunction fn);
//This callback will be called when OTA encountered Error
void onError(THandlerFunction_Error fn);
//This callback will be called when OTA is receiving data
void onProgress(THandlerFunction_Progress fn);

Where the user might as well do the
WiFiClient::stopAll();
WiFiUDP::stopAll();
// or, where we want some fine grained control
WiFiClient::stopAllExcept(&server.client());
WiFiUDP::stopAllExcept(&myPreciousCnC);