As of iOS 11 it is not possible to create custom **Alert Tones**, only custom **Ringtones**.  iTunes itself only makes one **Media Kind** available for them: *Ringtone*. That cannot be changed.

You can assign both **Ringtones** and **Alert Tones** to any event under **Settings** → **Sounds & Haptics** on your iOS device.

As far as app-specific limitations are concerned, you’ll have to take it up to the developers of such apps, in this case WhatsApp. I doubt Apple will add that functionality, since it makes no difference to iOS itself.