Additionally, you can set Android to use an ad-blocking DNS server without apps. In Settings > Network & Internet > DNS, select “Private DNS” and set the hostname to a custom server, like base.dns.mullvad.net (Mullvad’s DNS server is free to the public, does not require a VPN subscription).
The per-app controls sound neat! I might give that a try. Google killed the ability to restrict apps’ network access years ago, specifically so ads would always work. I’ve never tried a local VPN as a workaround.
Snapchat does not use end-to-end encryption for messages, so it doesn’t even belong in the conversation.
WhatsApp and FB Messenger are somewhat defensible choices since they at least use E2EE by default (Messenger did not until recently). However, there are a few good reasons to favor Signal: