I have OpenWRT running on my Raspberry Pi 4b. To avoid SD card failure, which has been happening to me so often, I have added a USB stick to expand my root filesystem. I have more storage (15Gb) and the router is running with no issues.
My question is: how can I run OpenWRT from the 15 Gb USB stick and be able to use the available space to get rid of the SD card?
I can boot off the USB stick but don't have access to the total capacity of the disk to store my packages.
Bad idea in my opinion. If your uSD card fails you're either buying cheap media or have some hardware issues (power supply or board). I have uSD cards in service since RPi (version 1) 10+ years now without issues/tons of read-write cycles. Do yourself a favor and get a high quality uSD, not USB.
OpenWrt itself doesn't need a lot of space in most cases. Having a few hundred MB is usually way more than required (but can be nice to have storage available on the main partition).
My personal recommendation would be to make a second partition for any additional data storage needs such as logs, file shares, or other things. You can mount the additional partition and access those files both locally and via file sharing/serving (like samba, etc.) as needed.
Frequent writes to the memory may wear it out, so be sure to have backups of your OpenWrt configuration as well as any other important files you have on your storage. It is also a good idea to have a spare thumb drive available for quick replacement if/when the storage does begin to fail so you can be back up and running quickly (utilizing those backups, of course).
Again, you want to boot off the uSD. You can use your USB for extra storage, log files, database files, etc. simply by defining it as a persistent mount and adjusting your config files accordingly.