Custom DNS - Observations

I'll try to answer as many possible.

If you mean below settings:

Yes its an accurate description.
You configure DNS servers here that Pi-hole itself will query if it doesnt know the answer (not on the blocklists or not cached).

Not exactly.
Pi-hole reads this hosts file on startup/boot and creates local internal DNS A or AAAA records out of these hosts entries.
You could also configure pihole-FTL (dnsmasq) to not read this hosts file at startup:

pi@noads:~ $ man dnsmasq
[..]
       -h, --no-hosts
              Don't read the hostnames in /etc/hosts.

Pihole is a caching forwarding DNS server:

The hosts file is not really suited to create DNS records as it will only allow you to add A or AAAA records.
Scroll down half way in below posting of mine "If you create a file":

The docs are the best source for that: