This appears to be a topic where you find a lot of misinformation on the web. Most include modifying the existing Pix Plymouth theme in-place as no one giving all the advice seems to know how to actually create new ones. The outcome with modifying the Pix theme in-place is that the next time the Plymouth themes package updates, your changes will be overwritten. Also there's plenty of neat themes out there, waiting to be installed.
This is how you actually clone the Pix-theme and make your own splash screen. Pix is a good theme for an easy hack, as it's virtually nothing but a scaled picture, with a text underneath saying what's currently starting up. You'll find it from Raspbian's rdp-plym-splash -package and it'll work on anything that has Plymouth.
If you already have a theme, but want to change it, scroll down to the second part.
Creating your own theme
The themes live in /usr/share/plymouth/themes. If you're on Raspbian, you can copy the "pix" directory into a new name. If you're not on Raspbian, download the package mentioned earlier and extract the pix-directory from it and put it in the theme directory, then rename it. We are going to call our new theme "demo" here.
After copying the pix directory as demo, go into it and rename the pix.plymouth and pix.script as demo.plymouth and demo.script.
Edit demo.plymouth, change the name-parameter to demo and fix the ImageDir and ScriptFile to point to the freshly created directory and renamed script file.
When you're done, replace the splash.png with whatever .png image you like, while keeping the name. Your custom theme is now complete.
Changing the theme on Debian or Ubuntu
Debian and Ubuntu manage the active Plymouth theme via update-alternatives, as a alternative called default.plymouth. For your new custom theme to show up, you first need to add it, then change to it.
As root or with sudo, run:
update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/demo/demo.plymouth 100
update-alternatives --config default.plymouth
Select the freshly added theme, them rebuild the initramfs, which will contain the boot splash.
update-initramfs -u
On the next boot you'll see your new splash screen.
Changing the theme on Raspberry Pi OS
Raspberry Pi OS uses its own script instead of update-alternatives. First verify it can see your freshly added theme with:
plymouth-set-default-theme --list
If it's visible, switch to it:
plymouth-set-default-theme demo
On the next boot your new splash screen will be seen.