Translation:Grandmother gives me cake after lunch.
Well, "ad" does not necessarily mean that she serves (felszolgálja, tálalja) the cake. Maybe she just gives a piece of it in the kitchen.
In English, "She gives (noun)" means that she is giving TO the (noun), so "gives cake" means that the grandmother is giving something to the cake (maybe decorations or a frosting). "Give" has an implicit "to" attached to it. Very subtle and annoying. Probably you want "The grandmother gives away cake after lunch" which allows you to not specify to whom the cake is given.
Right, gives cake to us or gives us cake. This "us", or "me", part is understood in Hungarian, most of the time. The target only needs to be named if it is someone else, not the first person. Like she gives cake to the guests.
Right. In Hungarian, it is allowed. As I said, most generally with the first person:
"Adj (nekem) egy ceruzát" - Give me a pencil.
But if the context makes it clear, it can be omitted with other persons, as well:
"(Én) adok (neked) levest, és a nagymama ad (neked) süteményt." - I give you soup and the grandmother gives you cake.
I wouldn't have said the noun following give is always the recipient. You can give blood, give a damn, give way. And certainly if you name the recipient later with an explicit "to", the noun following " give" isn't the recipient (e.g. "She gives the present to us").
A lot of verbs in English can have both a direct object and an indirect object, and allow the indirect object to either be mentioned with a preposition or just jammed between the verb and the direct object. Another example is "send", e.g. " She sent a letter to us" or "She sent us a letter". As far as I can tell, if you only have one noun following the verb it's always interpreted as a direct object, not the indirect. You can say "She sent a letter", but not " She sent us".
To my thinking, "give" is exactly the same. There's an "implicit to" when you have two nouns following ("grandmother gives us cake"), but when you have only one following the noun is the thing being given, not the recipient.
"Grandmother gives cake" is admittedly an unusual sentence, but I don't think it's grammatically incorrect.
You raise some interesting points. I think in English, "give", like "put", when used non-idiomatically, requires both a direct and indirect object. The exceptions you list are all idiomatic and would likely not translate directly to other languages. There's probably a name for verbs like this.
That's interesting, as I would have said put doesn't have an indirect object at all, but rather needs to be used with some sort of indication of position or motion. "Put it down, put it over there, put it on the table". Even the idiomatic "I put it to you" can't be *"I put you it", using an indirect object between the verb and the direct object. In fact the Cambridge article you linked has put as an example under "Verbs followed by a direct object and a prepositional phrase of time or place", not " Verbs with a direct and indirect object" (where "give" is).
I think under some contexts it can feel less weird to use "give" without an indirect object, without it being such an idiomatic phrase. Imagine a charity saying "We depend on your donations, or if you would like to give your time that would be greatly appreciated as well."
Basically my point is that "give" is in the same class of verbs as all the others taking an indirect object: ask, make, buy, find, offer, etc. Some of those are easy to think of uses without the indirect object, others sound very strange. I'm willing to accept that "Grandmother gives cake" is in the "very strange, to the point of being regarded as incorrect" category. But the reason it's incorrect is merely because give is rarely used that way, not because if it were used it would mean "grandmother gives (an unmentioned object) to cake"; it very clearly would mean "grandmother gives cake (to un unmentioned recipient)", exactly as the Hungarian sentence does.