Here's what I found out so far, beside the fact that assigning a vocal nickname works fine.
I reckon you're right, there has to be an issue with the contact mapping between WhatsApp and Google. Probably not a local issue either. But an interesting point was, when I first encountered the problem I backuped my google contacts into a local file on my PC and then completely cleared my google account plus did a factory reset on my phone.
I first installed all the updates I was offered, both Play Store and Samsung Galaxy App Store apps. Then I started from scratch and I entered a couple of contacts manually one by one instead of just re-importing the whole backup file. As of that moment it would work for any contact as it should. Google Now would recognize the contact name no matter if a nickname was assigned or not. It didn't matter either where I entered the contact, google contacts web interface or entering contact directly on the phone, either would work. So I entered half of my contacts and tested every one of them - worked perfectly.
But once I restarted my phone, it stopped working again all of a sudden. Any contact I already entered refused to work and every contact I created newly wouldn't work either although I used the exact steps I did before when it worked.
Another odd thing was, when I deleted all my contacs in google, they kept reappearing as "ghost contacts" in the seach when I entered the first letters. I was able to fix that issue by disablind and re-enabling the "include private results" (German: Private Ergebnisse verwenden) in the google search options. Ghost Contacts were gone as of that point, or at least I could not search for them any longer. Intersting, all ghost contacts were marked as google+ contacts, although they were my private contacts and neiter me nor them were signed up for google+.
But still I reckon there has to be an issue with left-over contacts on the google servers that it tries to grab the contact information from instead of the actual working contact that is stored online or on the phone. My guess is that google first looks on its own servers for contact information, finds redundant or deleted contacts, can't figure out how to map them and finishes off with an error instead of looking further for acutally existing contacts.
As I said, just an educated guess but since manually assigning the contacts to nickname works, probably overwriting the automatic mapping process, but the automatic name recognition doesn't, that might be at least part of the problem. It doesn't bring us any further though since we cannot do anything about left-over contacts on googles servers.
I know a lot of text, sorry for that, but it's complicated to explain - especially with english beeing not my maternal language

. Anyway, I'm stuck at this point but maybe one of you guys can benefit of my findings.
Thanks for your efforts and keep us updated
Once I find anything new I will let you know
Nils