I recently installed an IPv6 network on my lan. When crony syncs to a server using IPv6 it extracts some bits from the IPv6 address of the server and then displays them in the Reference ID as an IPv4 address which bears no relationship to any host on my lan. I have seen similar issues with the translation of a reference clock ID to a pseudo IP address.
I’m wondering if in these cases it might night be better for chrony to use an IP address from one of the reserved IPv4 address ranges rather than synthesising what may well be a real IP belonging to some unrelated network.

This has been argued in the past. The refid is 4 bytes, so it cannot fit in
the whole IPv6 address. And it really is not worth expanding the size of the
refid. For refclocks it is a four character name (translate the bytes to
ascii-- eg PPS0, SHM3...). I am not sure what the algorithm is for ipv6 (last
4 bytes in the addreess.) I really do not think it is worth Lichvar's time to
rewrite the refid to be 12 bytes say, with all the potential for hidden bugs
introduced by change. It is not supposed to be an address. It is supposed to
be just a unique id to differentiate the various sources.