Is it normal it get an IPv6 address when a hostname is resolved and the IPv6 interface has been disabled (unchecked from network adapter settings)? How do I know for sure IPv6 has been disabled?
It's normal for a resolver to report IPv6 addresses regardless of whether IPv6 is actually enabled on any interfaces. The resolver operates at the TCP and UDP layer, and isn't programmed to check whether or not addresses of a particular protocol family would ultimately be usable if they were returned. That would complicate the resolver a lot (consider cases where IPv6 may be available through one interface but not through another, and which interface gets uses for the traffic depends on routing), not to mention being a blatant layering violation.
When the resolver returns IPv6 addresses and they are not usable due to no interfaces having IPv6 connectivity, they will very quickly be rejected by the application's socket connection logic, so it costs almost nothing to return them and try them anyway.