esphome can also be flashed "OTA" which just means compiling your project locally, then pushing the binary over tcp/ip and giving an instruction to install it.
With https://github.com/esphome/device-builder you can run a network of multiple esphome builders so you can update many devices at the same time "OTA" (TCP/IP).