Look up the term "Happy Eyeballs" (yes really)
Preference will depend more on operating system / version than hardware or applications (in general).
If the installed OS isn't using Happy Eyeballs you can assume it will prefer IPv6 when both available, but the preference can also be influenced by whether the source and target address are on the (same) LAN and whether the received IPv6 address is native or tunnelled over IPv4.
Attempting to manually configure IPv6 is discouraged, partly because there is more likelyhood for getting things wrong, and partly because interfaces tend to have multiple addresses, such as both a global and a link-local address, so it's more effective to manage it at the network (prefix) level than the device level.
If manually addressing it's alot of extra work to also add the routes and DNS settings on each device and more so if you need to renumber a network.
The router and optionally the DHCP server for the network (which may be the same or different) should be able to manage the IPv6 assignments.
If your existing / ISP-issued router doesn't give you enough control over addressing there are other choices.
The ideal case is to have your devices listed in your LAN DNS server with v4 and v6 addresses such that you only need refer to them by DNS name and the IP addresses become an abstraction.
An exception to the general rule would be something like an Active Directory Domain Controller wanting to have a fixed address because of the role it plays in authentication and authorisation. Whereas for something like a printer or even a NAS I wouldn't bother and use DHCP reservations instead much as we can per IPv4.
If you do want to configure IPv6 addresses manually test with ULA addressing - e.g. you can use an RFC 4193 subnet generator
and check 2 or 3 items can communicate on the generated subnet.
more commentary on the Infoblox blog
prlzx on iDNET: VDSL / 21CN at ~40Mbps / 10Mbps
with IP4/6 (no v6? - not true Internet)
Edited by prlzx (Mon 04-Feb-19 22:24:40)