Three years ago, Rich Trouton wrote Adding password protection to manually installed management profiles, which gives step-by-step instructions for how to make a manually-installed profile prompt for a custom password (in addition to the local admin password) when being removed.
I’ve tested this on Catalina, and it still works!
That said, it worked only from the GUI (via System Preferences). If you remove the sample profile (
sudo profiles remove -identifier 9f9a0b1f-7b17-4656-92aa-b7046ad88d00), it will just remove immediately with no custom password provided.
Your best bet for making a profile non-removable is to install it via MDM.