Ubuntu doesn't boot from usb stick
Solution 1:
In UEFI mode, the Ubuntu bootloader will always be installed into the first drive, which is usually an internal drive. If you want to get the [UEFI] bootloader (which is a partition) into a USB drive, you can unplug, disconnect or otherwise disable the internal drive.
In BIOS mode alias CSM alias legacy mode you can control where Ubuntu installs the bootloader. But it is always a good idea to unplug, disconnect or otherwise disable the internal drive in order to get the bootloader into the USB drive, when that is what you want.
See the following links,
Step-wise instructions for installed system in a USB drive
How to Create a Full Install of Ubuntu 20.04 to USB Device Step by Step
If you need not encrypt the drive, there is an easy alternative. You can use a compressed image
Solution 2:
Put Boot Loaders on USB Stick
If disabling the internal drive is not an option, on one of the Pages sudodus mentions there is another method described for installing to USB.
It uses a BIOS/UEFI boot template that flashes the boot partitions to the drive.
The OS is then installed to a third partition and boots using the preinstalled partitions.
How can Lubuntu 20.04 LTS be installed in a USB which can boot into both- UEFI & Legacy BIOS systems?