SUCCESS 
this one works !!!
All credits go to @vgaetera , 100 Kudos + thx
This documented demo solution is able to
filter / block traffic from "lan" to "wan"
based on domain names ( here: example.com and example.net )
in openWRT 22.03.03 standard installation
without use of non-released packages, and pretty easy to handle / achive results.
tl:dr
- Install resolveip package
- execute @vgaetera commands as one block in Terminal / Command line (e.g. Putty)
URL="https://openwrt.org/_export/code/docs/guide-user"
cat << EOF > dns-ipset.sh
$(uclient-fetch -O - "${URL}/advanced/ipset_extras?codeblock=0")
$(uclient-fetch -O - "${URL}/advanced/hotplug_extras?codeblock=0")
$(uclient-fetch -O - "${URL}/firewall/\
fw3_configurations/dns_ipset?codeblock=0")
EOF
sh dns-ipset.sh
- reboot
-
www.example.com and www.example.net are blocked
- block reason: fw4 rule, based on IP Sets stored in nftable with domain name input from \etc\config\dhcp
Motivation:
dnsmasq below ver 2.87 is incompatible with nftable used in fw4 and the iplist package. Approachs, that worked in earlier versions of openWRT do not work in openWRT 22.03.03 (which uses dnsmasq 2.86 )
Solution Description & Documentation:
- Definition of domains to be used / filtered ( here: example.com , example.net can still be done in dnsmasq / LuCI / DNS&DHCP / IP Sets or in \etc\config\dhcp
- Two standard fw4 rules are created to filter the traffic from lan to wan for domain "example.com" and "example.net". In this show-case (=code base), the rule names are "Filter-IPset-DNS-Forward" , one for IP4, one for IP6. The two rules are created automatically. I do edit them not in LuCi as LuCI does not show all lines of the rule. I use WinSCP to go to etc/config/firewall file and edit it there.
- In the background, the @vgaetera command line code (see tl:dr) that produces and executes the script "dns-ipset.sh" (that is put together "live" from code snippets from three openWRT doc sites (real magic, see also ( here document)) does the following things:
** The used Ip Sets (named " filter" for IP4 and filter6 for IP6 in this use-case) act as an "envelope" for IPs. It seems the IPs are stored in files (see point 4 further down) and fetched by fw4 to store them in nftabels. Nftables are important base technolgy of fw4 and fw4 is able to work with IP Sets that are based on nftables.
** resolveip populates the IP Sets . So for noobs like me .. "example.com" is translated into one or many IPs like 1.2.3.4 , something a firewall can work with. Work is done in the code snippet Ipset_extras
** hotplug is used @ startup of router to run a script that starts the process of populating IPs into the IP Sets (with resolveip package).
** IP Set updates : The IP sets are populated at startup with Hotplug extras when the system becomes online and then updated on a schedule. Here crontag shows 0 */3 * * * . /etc/nftables.d/ipset-setup.sh - with my limited know how i think this might mean update of the IP Set all 20 minutes around the clock.
Tips, hints, deeper dives to understand better whats going on:
-
You can download / look at the three code snippets @vgaetera is using in his srcipt dns-ipset.sh here:
https://openwrt.org/_export/code/docs/guide-user/advanced/ipset_extras?codeblock=0
https://openwrt.org/_export/code/docs/guide-user/advanced/hotplug_extras?codeblock=0
https://openwrt.org/_export/code/docs/guide-user/firewall/fw3_configurations/dns_ipset?codeblock=0
-
If you - like me - are not able to paste multiple lines into a Terminal / Commandline window (me: Putty), try to put the commands in () like this and copy / paste the whole stuff in @ once:
(
URL="https://openwrt.org/_export/code/docs/guide-user"
cat << EOF > dns-ipset.sh
$(uclient-fetch -O - "${URL}/advanced/ipset_extras?codeblock=0")
$(uclient-fetch -O - "${URL}/advanced/hotplug_extras?codeblock=0")
$(uclient-fetch -O - "${URL}/firewall/\
fw3_configurations/dns_ipset?codeblock=0")
EOF
sh dns-ipset.sh
)
-
If you want to (cross)check if the IP Sets are existing and / or populated with IPs, try some of this commands:
nft list sets
nft list set inet fw4 filter
nft list set inet fw4 filter6
resolveip example.org
-
The used IP sets are viewable / stored in /var/ipset-*
. fw4 takes them from here and feeds them to nftables. in this use case, the files are ipset-filter and ipset-filter6 and they are nicly filled with IPs 
-
As stated @ the very beginning of this post, this solution works for the real (!) domains (no placeholders !!) www.example.com and www.example.net . It also works for my use case i wanted to solve. I thought it did not work for a big austian news website derstandard.at, but learned that it redirects to www.derstandard.at - you need to block this one. :))
-
Pro Tip / Extra - ASN based filtering in fw4
If blocking or accepting traffic / content based on domain names like www.wikipedia.org does not block or accept the right (enough) IPs, the solution might be working with ASNs instead of domain names. Lots of Info regarding ASN can also be found here - ASN - more info. openWRT fw4 / @vgaetera 's solution can also handle ASN based filtering.
If you want to filter a specific AS, enter this commands in a Terminal (e.g. putty) window to add AS 2906 to the ipset "filter":
uci add_list dhcp.filter.asn="2906"
uci commit dhcp
ipset setup
The ASN is added / can be edited in the "dhcp" file in \etc\config and is added to the IP Sets that may already be there:
config ipset 'filter'
list name 'filter'
list name 'filter6'
list domain 'example.com'
list domain 'example.net'
list asn '2906'
and is treated similar a domain name in the ipset 'filter' (the one we always use in this example / code base). Very easy, very consistent, great stuff 
You maybe find ASNs for your network / domain using a Linux Terminal Window using the methology described in the next code window, wikipedia example. Code Example also delivers IPs belonging to the AS as extra:
$ dig +short www.wikipedia.org. a
91.198.174.192
$ whois -h whois.radb.net 91.198.174.192 |grep ^origin
origin: AS43821
$ whois -h whois.radb.net \!gAS43821
A31
185.15.56.0/22 91.198.174.0/24
WARNING: Blocking traffic based on ASNs can lead to unwanted results. You maybe block a CDN like Cloudflare or Microsoft with just blocking ONE ASN.
As stated before, I am just a noob, that can not write one line of code. Just doing some documentation of the stuff @vgaetera explained to me, putting all the stuff together in one Post in this thread. All credits to him and sorry if some things are not exact .. my fault / did not understand better ;).
So marking my own post as solution is not fair, but I have no better idea to compile all infos @ one place and link it as solution. One again, thx 2 @vgaetera for solution design and helping me to understand / implement.