Use a service DNS service like NextDNS or AdGuard (not local) and then set up your router to have it use that for dns. You can keep a fair bit of privacy that way, without routing everything over a VPN.
Yes, Comcast/Xfinity still sees that you’re communicating with some server somewhere, but they lose that DNS query info. From what I know of networking, that means that they know you’re accessing some site in AWS, but not which site in AWS thanks to HTTPS.
The alternative is to route everything over VPN, but then you’re letting another provider have literally all of your traffic, and unless you pick a reputable provider, they could possibly be worse than your ISP. To be fair, that last bit is pretty unlikely if you stick to one of the big players like Proton.
Another caveat with VPN is that some sites won’t load properly or will give you more captchas, etc, because of the VPN use. Unless you split tunnel, then you have to worry about maintaining a list of what to VPN, and what not to VPN. Once you have a list, you now have to keep up on the 20-50 subdomains that every site seems to load as well, and the one you need, will always be some random one buried somewhere.
When I was at Comcast roughly 6 years ago, we could see what you had connected, how many devices, link speeds, network names, passwords, you name it. Pretty much everything except for “Jim is visiting site X” in real time, but that was because we couldn’t see the DNS logs. Best way around that is to get a standalone modem. Not some WiFi/router/modem combo deal. Just a modem. Just a box with a coax jack, a single Ethernet, and the power plug.
Best thing you can do IMO is ditch your ISP provided modem/router, and use a DoH/DoT service. That is a reasonable compromise between usability, maintenance and what I call the PITA factor.