That's not necessarily true. Ultimately it depends on how to program trying to resolve the name has been coded.
nslookup
for example is just a user program and may prioritise addresses in a different order than say
ping
does.
That said, most programs use getaddrinfo() or gethostbyname(). Failing an order being specified explicitly the results order may default to first response first, or the precedence table specified in
RFC 3484. But even the RFC 3484 order can be overridden.
In the case of your
nslookup
result in your OP the IPv6 was shown first. This is normal if the router has IPv6 enabled. If the router doesn't have IPv6 enabled the IPv4 result appears before the IPv6 result. Contrast that with Windows'
nslookup
where AFAICT it always presents the IPv6 address first.