German speakers usually have very good English, but this is one of their tells.
As in “I’ve done it” or “I’ve seen it”
It would not be used before a noun, in the context of ownership, as in “I have a meeting”
Even just reading "I've a train to catch" gives a British accent in my mind.
Another common tell: I wake up in the morning in the US/Pacific time zone, and see the European writers on HN using "I have ran" instead of "I have run".
Fixed that for you.