You can get the IP address of the host, which is the IP address of the host's lxdbr0 network interface.
ubuntu@c1:~$ ip route show default 0.0.0.0/0
default via 10.0.85.1 dev eth0
I think you cannot get the host's IP address of the other network interfaces. Even if you use mtr 18.104.22.168 from inside the container, it will not show the other network interfaces of the host.
However, you can scan from inside a container for ranges of IP addresses, and this can reveal which one is the host. For example,
root@c1:~# ping 192.168.5.12
PING 192.168.5.12 (192.168.5.12) 56(84) bytes of data.
64 bytes from 192.168.5.12: icmp_seq=1 ttl=64 time=0.055 ms
64 bytes from 192.168.5.12: icmp_seq=2 ttl=64 time=0.073 ms
64 bytes from 192.168.5.12: icmp_seq=3 ttl=64 time=0.080 ms
Such small response time would indicate that this is the IP address of the host. If you look into this much more than I do, I would be interested if you can find out the iptables command that would make the host not to respond to ICMPs coming from the container.
You mention host server LXC name. I do not think there is such a hostname. It is the containers that have hostnames, and you can get the full list of the leases (on the host) at /var/lib/lxd/networks/lxdbr0/dnsmasq.leases