By having this function run as the main function of the compiled script, I’m able to get streamlit to try to start the webapp under pyinstaller.
def streamlit_run():
    this_dir = Path(__file__).parent
    os.chdir(this_dir)
    sys.path.append(this_dir.name)
    sys.argv = ["streamlit", "run", "app.py", "--global.developmentMode=false"]
    sys.exit(stcli.main())

I changed the spec file (from pyinstaller) so that it could find the import for app.py (by specifying to copy over the script).
Although streamlit starts up the local server (usual output with You can view your Streamlit app... and on port 8501), it gives a 404: Not Found error on actually loading the webpage.
This is as far as I’ve managed to get.