I discovered that I can plug a Raspberry Pi Pico into my Android phone and use the app 'Serial USB Terminal' as a serial monitor. However, if the Pico has a main.py script uploaded to it, then it seems to work as a read only kind of thing where it just displays the output of the running Python program and does not let me stop the script and interact with the Pico using REPL. If I do not have a main.py script on the Pico, then when I use the Serial USB Terminal app I can interact with the Pico REPL.
In Thonny, when the Pico is connected I can hit the "Stop" button and it will terminate the main.py script and let me interact and send Python commands to the Pico. I can't seem to figure out how to achieve this same functionality in the Serial USB Terminal app, or presumably any other serial monitor.
Is there something special about Thonny that allows for using REPL even when the Pico has a script onboard already?
EDIT: To future searchers, thanks to @sburlappp I figured out how to do this. In the Android app "Serial USB Terminal", you can create hotkeys using the "Macro buttons". Long press one of the Macro button slots to set it. There is an option for 'Hex', which can be set to 0x03 (just type 03, leave out the 0x part) and then this will act as a keyboard interrupt and stop the main.py script allowing you to use the REPL. You can use the following command to start running the script again if desired:
exec(open("main.py").read())