I absolutely hate the fact that Apple is closing up every element of the iOS system, just because they think that they know better.
Just think about it, Apple wants you to use only the text messages tones or ringtones that they provide, they tell you that then know better what you want....no way!
In Mac OS 11 and iOS 14 and up (tested on iOS 15) you can very easy transfer what ever ringtone you want to your phone.
Now, I will not explain how to make them, I will say that ringtones must have an extension 'm4r', which a normal mp3 can be converted into. Ringtones in iPhone have a limit of 30 seconds, so just make sure that the mp3 file that you want as a ringtone is not longer then 30 sec.
Connect your phone via a cable with your mac. Make sure that you Sync the phone with your mac, very important. Make a backup before doing so if you never Sync your phone with your mac, just in case.
Open finder and navigate to the tab with your phone
Open another finder window and navigate to the location where your 'm4r' ringtones are located.
Step 4 (final):
Drag and drop your ringtones to the 'General' tab of your iPhone Sync window.
That's it!!! Disconnect your phone from the mac, go to your setting in iOS and change your ringtones to the once that you just transfered to your phone :)