In British English, "I've finished eating" or (in context) just "I've finished" would be idiomatic. "I'm done eating" isn't something most British people would say.
A child who wants to draw attention to their achievement or is looking for permission to move straight on to the next course will say "I've finished!". But as James K said, an adult will rarely find it necessary to announce that they've finished their meal. However, this could happen in certain circumstances. For example, perhaps someone might enter the room and say "Sorry to interrupt your meal" and the other person might reply "No, it's all right, I've just finished."
In a restaurant, a waiter might ask you whether you've finished, but usually only if it isn't obvious (for instance, because some of the food has been left on the plate). You might reply "Yes" or "Yes, I have" or "Yes, I've finished, thank you."
Similarly, as a guest in someone's home, you normally wouldn't need to tell them you'd finished, but if you did want to draw attention to it, you would probably do so indirectly, by commenting on the quality of the food. This evaluation should always be positive, regardless of the truth. For example, "That was a delicious meal - thank you so much."
Even if you hadn't been able to eat everything, you probably still wouldn't need to tell your host that you'd finished (it would be obvious if you put down your knife and fork in the correct formation and didn't eat anything for a while), but if you did, you'd say something like "This really has been a delicious meal, but I'm afraid I can't eat any more."