Doesn't this affect Signal too? There is a setting under "Privacy -> Advanced" called "Always relay calls", which routes calls through Signal servers to prevent IP leaks (and can decrease call quality)... This setting is disabled by default
TLDR: It happens (by default) for calls between you and someone in your contacts list, because it's a p2p connection. It can be avoided by disabling p2p calls.
The reason Telegram leaks a user’s IP addresses during a call is that, by default, Telegram uses a peer-to-peer connection between callers “for better quality and reduced latency,” Telegram spokesperson Remi Vaughn told TechCrunch.
“The downside of this is that it necessitates that both sides know the IP address of the other (since it is a direct connection). Unlike on other messengers, calls from those who are not your contact list will be routed through Telegram’s servers to obscure that,” Vaughn said.
To avoid leaking your IP address, you have to go to Telegram’s Settings > Privacy and Security > Calls, and then select “Never” in the Peer-to-Peer menu, as shown below.