Uploading software via UART and bootloader is possible, but you would still have to push reset at the right moment. With the BT module it is easier, at least the HC-05 has one pin that can do a reset at the moment of connection (after a little reconfiguration of the firmware settings - one AT command), via a capacitor analogous to the autoreset in the UNO/NANO board.
There is a stk500v1 programmer built into the 2.2.3 version of esp-link, something like USBASP, except that communication is via a COM port, in this case a virtual COM port over LAN/WIFI, but this requires the UNO ICSP connector to be connected, so permanently it is taking a few pins from UNO, and the ESP8266 version, which has more IO pins available - NODE MCU or WEMOS.
As for this bridge over WIFI, start with your App Inventor and see what it requires, what it can offer. On the ESP side you have 3 routes to choose from, and in the version with your own software written in Arduino you are only limited by your imagination and your skills. Both ESP-LINK and AT firmware allow you to work in AP mode, i.e. without a router, the WIFI router/AP is the ESP and you connect e.g. your phone to its network, as a station, i.e. you connect to a WIFI router, or a mix of STA+AP. In the AP version, the range does not necessarily have to be greater than BT. Much more reliably connect the ESP to the router, better antennas and the range will match what you already know.
Of course, if you don't mind 3.3V logic, there are enough pins on the ESP8266 or ESP32, the same controller can be done bypassing UNO, directly on a board that has WIFI built in.
Helpful post? Buy me a coffee.