Please read and understand each command to minimize the risk for data loss. The risky commands are sgdisk, parted, mkfs.vfat and mkfs.ext4, so just be careful 🙂

lsblk -o +TRAN | grep -i usb
-> sdb      8:16   1  14.9G  0 disk             usb

# DANGER ZONE #
sgdisk -Z /dev/sdb
parted -s /dev/sdb mklabel gpt mkpart ESP fat32 0% 1GiB mkpart ubuntu ext4 1GiB 100%
parted -s /dev/sdb set 1 esp on set 1 boot on

fdisk -l /dev/sdb | grep "^/dev"
-> /dev/sdb1     2048  2097151  2095104 1023M EFI System
-> /dev/sdb2  2097152 31348735 29251584 13.9G Linux filesystem

mkdir -p /mnt/usb_esp
mkfs.vfat /dev/sdb1
blkid /dev/sdb1   # the UUID= will be used later in the new grub.cfg
-> /dev/sdb1: UUID="921A-DA9A" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="ESP" PARTUUID="a5b4289c-b237-43df-bb5c-d80698b57f3c"
mount /dev/sdb1 /mnt/usb_esp

mkdir -p /mnt/usb_ubuntu
mkfs.ext4 -F -b 4096 /dev/sdb2
mount /dev/sdb2 /mnt/usb_ubuntu

mkdir -p /mnt/ubuntu_iso_mount
mount -t iso9660 -o ro,loop /home/username/Downloads/ubuntu-22.04.2-desktop-amd64.iso /mnt/ubuntu_iso_mount

cd /mnt/ubuntu_iso_mount
cp -R boot boot.catalog EFI /mnt/usb_esp; sync
mkdir -p /mnt/usb_esp/casper
cp casper/vmlinuz casper/initrd /mnt/usb_esp/casper; sync
cp -R casper .disk dists install md5sum.txt pool preseed /mnt/usb_ubuntu; sync
cd /

ls -al /mnt/usb_esp
total 20
drwxr-xr-x 5 root root 4096 Jan  1  1970 .
drwxr-xr-x 1 root root  154 Apr  1 02:17 ..
drwxr-xr-x 3 root root 4096 Apr  1 02:19 boot
-rwxr-xr-x 1 root root 2048 Apr  1 02:19 boot.catalog
drwxr-xr-x 2 root root 4096 Apr  1 02:21 casper
drwxr-xr-x 3 root root 4096 Apr  1 02:20 EFI

ls -al /mnt/usb_ubuntu
total 80
drwxr-xr-x 9 root root  4096 Apr  1 02:32 .
drwxr-xr-x 1 root root   154 Apr  1 02:17 ..
dr-xr-xr-x 2 root root  4096 Apr  1 02:28 casper
dr-xr-xr-x 2 root root  4096 Apr  1 02:28 .disk
dr-xr-xr-x 3 root root  4096 Apr  1 02:28 dists
dr-xr-xr-x 2 root root  4096 Apr  1 02:28 install
drwx------ 2 root root 16384 Apr  1 02:13 lost+found
-r--r--r-- 1 root root 34927 Apr  1 02:28 md5sum.txt
dr-xr-xr-x 4 root root  4096 Apr  1 02:29 pool
dr-xr-xr-x 2 root root  4096 Apr  1 02:32 preseed

replace the following menuentry in /mnt/usb_esp/boot/grub/grub.cfg:

menuentry "Try or Install Ubuntu" {
        set gfxpayload=keep
        linux   /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed maybe-ubiquity quiet splash --- 
        initrd  /casper/initrd
}

with:

menuentry "Try or Install Ubuntu" {
        insmod part_gpt
        insmod fat
        search --fs-uuid --set usb_esp --no-floppy 921A-DA9A   # from blkid /dev/sdb1
        set gfxpayload=keep
        linux   ($usb_esp)/casper/vmlinuz
        initrd  ($usb_esp)/casper/initrd
}

umount /mnt/usb_esp /mnt/usb_ubuntu /mnt/ubuntu_iso_mount

restart the computer and boot the usb stick in uefi mode