The hosts file is used as a local hostname to IP address lookup.
Obviously it is NOT used when an IP address is already specified. If a
web page references an external resource using its IP address, there is
no DNS lookup (in the local DNS cache, in the local hosts file, or to
the DNS server). With an IP address, DNS is not involved.
It is unclear in your snapshot of Process Hacker if that tool shows you
what was that actual host connect request or not. Looks like an
external tool to monitor connections but it won't know if the client
used a hostname (which then involved a DNS lookup) or an IP address
(which does not involve DNS which also means no involvement of the hosts
file). Maybe the connect request was to an IP address and Process
Hacker is doing the lookup itself (resolve) to tell you the hostname for
that IP address, if it has one (hosts do not need a hostname to connect
to them - humans like names, computers require numbers). If that tool
has an option to "Show DNS name", "Resolve addresses", or something
similar then turn it off. Alas, some network tools (e.g., Sysinternals
TCP View) will switch between showing [resolved] hostnames or IP
addresses. They can only show to where the process connected, not
whether the client used a hostname or IP address. Those tools are
operating outside the client that is issuing the connect requests (and
already did the DNS lookup to get the hostname equated to an IP
address). You would need something, like Wireshark, to match up the DNS
traffic to the connections you see in Process Hacker or TCP View. Else,
you would have to use a tool inside the client to see what the client
actually specified (before it might issue a DNS request). I'm not sure
an external or internal network tool will tell you if a DNS resolution
came from the hosts file or not. For that, you might have to see if the
client (via an internal tool) issued a hostnamed connection request and
then see if there was matching DNS traffic (so any missing traffic would
be accounted for the local hosts resolution). Of course, you could
rename the hosts file so it never gets used and then monitor DNS traffic
(to the DNS server) to see when the client specified hostnames. I don't
know if F12 -> Network tool inside of Firefox will show you its raw
connection requests (so you can tell if it use a hostname or IP address)
or if it "conveniences" the user by also resolving to hostnames even for
IP addressed connection requests.
Rename the hosts file for now so you can actually monitor the DNS
traffic. With traffic monitoring (not just connection listing), you
could tell which connections the client made that were IP addressed (no
DNS traffic for those) and which were hostnamed (which would involved
DNS traffic).
Also make sure you aren't using any local proxy that uses the MITM (man
in the middle) scheme to intercept and interrogate your web traffic.
Several anti-virus programs add their certificate into Firefox's private
certificate store (since it won't use the global cert store) so they can
intercept HTTPS traffic to afford interogation of it to look for
malicious content; else, they cannot look inside HTTPS traffic and are
blind to any nasties within. You will have to disable its HTTPS
scanning feature. Some streaming capture programs also use the MITM
scheme so they can capture videos from HTTPS sites.
In another reply, you mentioned disabling Firefox from updating its
blocklists (regarding extensions, not an adblocker). Firefox does have
its own adblocker although it is disabled by default in normal mode but
enabled by default in private browsing mode. In private mode, add-ons
are disabled so your adblockers are ineffective in private mode and
probably why Mozilla added their own inbuilt tracking blocker. Mozilla
uses the Disconnect.me blocklist and may be updating it even if the
feature is disabled so you have an updated blocklist if and when you do
enable it. Open a private window in Firefox and notice at the right the
option to enable/disable the tracking blocklist. When I first heard
about this, there was just one about:config setting to enable or disable
this feature. When Mozilla later decided to add it, by default, to the
private browsing mode, then there were two settings: one for normal mode
enable/disable (privacy.trackingprotection.enabled) and another for
private mode enable/disable (privacy.trackingprotection.pbmode.enabled).
Again, I don't that disabling these features prevents Firefox from
updating the tracking blocklist.
Did you set geo.enabled to false?
Did you disable the built-in Google-based safebrowsing add-on
(browser.safebrowsing.enabled)? That might be related to the "block
reported attack sites" and "block reported web forgeries" options that
you said you disabled; however, why would there be 2 options for 1
setting in about:config? I haven't bothered toggling those options to
see what about:config settings they affect. There is another setting
(browser.safebrowsing.malware.enabled) so that's perhaps why there are 2
option settings. There are a slew of browser.safebrowsing.* entries in
about:config, some of which deal with the update interval. Again, as
with the tracking blocklist, I don't know that disabling the feature(s)
also means disabling their update.
As to removing the Pocket bookmark ...
I don't have the Pocket bookmark but then I chose to hide it. As I
recall, if you customize the toolbar and drag out the Pocket icon (so it
isn't in the toolbar but in the reserve list) then the Pocket bookmark
disappears. However, I also have extensions.pocket.enabled set False.
You might have to set True so you can customize the toolbar (remove
Pocket) and then change the setting to False.