Your Kubernetes is currently IPv4 only, but I presume your nodes have IPv6 capability, otherwise this obviously can’t fly at all.
You say “the server will probably run in host network mode”. I can see that might work with Kubernetes pods remaining IPv4 only, because of the IPv6 capability on the nodes. If you want later to have non-host-networked servers, you’ll have to change your cluster to be dual stack. (https://docs.projectcalico.org/networking/dual-stack)
So you have an IPv6 server, host-networked, running on some or all of your nodes, and you want to be able to access that from outside the cluster - right? How does the addressing of those servers differ from the IPv6 addressing of the nodes themselves? I presume the node IPv6 addresses are already accessible from outside, so can the service just be accessed as a known port on one of those addresses?
In terms of Calico capabilities…
There is the service advertisement feature https://docs.projectcalico.org/networking/advertise-service-ips, and in fact it does support IPv6 as well as IPv4. (I’ll get the docs fixed!)
The routes that Calico will export, from each node, are filtered by the defined IP pools. So, if you have a local route for, say, fd5f:1234::3/128, you can get Calico to export that by defining a disabled IP pool that includes that address, e.g.
But I’m unsure if either of those exactly meets your needs.