"He struck him a slap with the hand" is not a "literal" translation of ضَرَبَهُ كَفًّاTo be fair I don't think that his goal was to produce litterary English. It's a lexicon and he was trying to show the structure of the Arabic language for non-Arabs. The only way to do this is by giving the reader a literal translation (word-for-word translation). This is particurlary important when it comes to المفعول المطلق and other Arabic structures that are rare or don't exist in English.
I think it would be "He gave him a slap"Consider a sentence like "He slept the sleep of the just." This seems to me to be close enough to the Arabic المفعول المطلق (although I may be mistaken).
Once you use a sentence like this to explain the concept of المفعول المطلق to an English speaker, then translations like "He struck him a slap..." , although not idiomatic in themselves, can serve to indicate a nuance in meaning and grammar that is not easily conveyable otherwise.
Edit: I'll just add that I mean a literal translation like this is justifiable in a dictionary or pedagogical setting. In translating a narrative, a more fluent and idiomatic translation is probably more called for.