As instructed by @DL6ER, I'm currently running core tweak/gravity_performance, therefore this may or may not be relevant.
currentluy active 4 clients. top clients (total) says 7.
localhost, raspberry57.localdomain, localhost, raspberrypi.localdomain are all the same, but different ip (192.168.2.57, 192.168.2.47; 127.0.0.1; 2a02:1810:4d01:1902:4e0a:8fe6:95b0:e91a).
Do we need a database table where we can identify different IP addresses as one client? Or am I missing something else?
This is also the case for the current Pi-hole, so likely not specific for Beta 5.0:
Pi-hole seems to identify clients by IP rather than device identity.
I commonly see this with IPv4 and IPv6 addresses associated with the same device, connected on the same NIC.
Yes. Devices make queries from their IP addresses, not from the interfaces (at least on the software level). Furthermore, devices which are on other networks are not visible by their hardware addresses. However, we can still reach them over their IP addresses as the networking equipment knows how to route the packets. Things are rather tricky here.
And, technically, you may even want to have different IPs meaning different clients, imagine only a server that has one NIC but runs a dozen virtual machines. Each of them can be a separate client with a separate IP address.
The network table already does exactly that, it groups all addresses for a given device together. This can even be used to derive host names for addresses which don't have one. Note that this can obviously only work for devices in the same logical network (not across gateways, VLANs, etc.).
There is the feature to click on the client to see the queries being made by this one specific client. If we'd add something like "devices" here, it would dramatically complicate things in the background as we'd always need to check if a given client has more than one address.
TL;DR Different IP addresses are different devices as they are independent. I guess this is a sane assumption.