I had to fine-tune my local pihole to achieve this with a Samsung TV. I basically turned on maximum filtering, then unblocked domains one by one until the needed functionality worked.
What do you mean by needed functionality? Do you mean apps like Netflix working or something more fundamental in the TV itself not working without being able to connect to the Internet.
Right. For example, the built-in Netflix app wouldn't launch until I unblocked some Samsung-specific domain, despite Netflix itself not being blocked. So it was kind of like test feature > unblock domain > retest feature until everything worked with fewer/no ads on the dashboard.