It seems to depend on your version of Android, and possibly on your version of WhatsApp. I am writing this in April 2020, running Android 6 and WhatsApp Version 2.20.108 on a very humble Wiko. I changed my phone to English (UK), but still your menus might be slightly differently called.
Open the WhatsApp Chats Tab and use the three-dot-menu (top-right) and then > Settings > Notifications > Messages.
When I tap on "Notification tone" I get a choice of "Media Storage" and one of my file explorer apps.
Media Storage is already an option
If you get "Media Storage" just navigate to your own custom sound file and you are done (you can use any MP3 file on your phone, as long as you know how to navigate to its location).
Only pre-set sounds are showing
If you only get a fixed choice of pre-set sounds, you need to "seed" that list first with your own custom sound:
For this you have to use the phone-settings (not the WhatsApp settings).
Pull-down the notification bar and use the gear-icon or any other way to open your Android phone settings. Then go > Sound & Notification > Default Notification Ringtone
Now, if you are lucky, you have a choice to use "Media Storage" to set your phone default notification ringtone. But if you see only a fixed list of tones (like in WhatsApp), you have to take yet another (non-intuitive) detour:
Go back only one step in the phone settings, instead of "notification ringtone", now choose "phone ringtone" and if you have two SIM cards, pick either of them. Now remember your present choice of phone ringtone, because we will use this location to "seed" the ringtones-list by changing your present ringtone (temporarily).
Even in a stubborn Samsung Android 9, when you tap to change your phone ringtone, it gives you a + icon (a plus in a circle) top-right on your screen: tap there and it will allow you to select your custom audio file.
I had to try this on my wife's phone, she is running Android 9 on a not-too-expensive Samsung phone. It worked for her, this was my reason to figure this answer out. So courage, it can be done, I just did it a few minutes ago on two different phones.
Back in WhatsApp
Once you have selected that, you can go back to WhatsApp and open the settings menu again, like I listed above. But this time your choice of notification sounds has grown one extra entry (possibly at the very bottom of your list, but might depend on the name of your sound file):
Now select your own custom sound file and your request is answered.
Remember to set your ring tone back (if you had to change it above)
Do not forget to go back to your phone settings and re-set your phone-ring-tone to what it was before this little hack.
I can only guess that things might look mildly different, depending on brands and versions. Stay loose, look around, that is what I did. I welcome people to edit this answer as time moves on, please mention the date of your edit and what Android and WhatsApp versions you have and your brand if it's rather non-mainstream.