Does it help if you change the listen line in /etc/systemd/system/check_mk.socket
from:
ListenStream=6556
to:
ListenStream=0.0.0.0:6556 [::]:6556
?
The systemd/socket/listenstream documentation isn’t super clear, but it does say…
If the address string is a single number, it is read as port number to listen on via IPv6. Depending on the value of
BindIPv6Only=(see below) this might result in the service being available via both IPv6 and IPv4 (default) or just via IPv6.
So setting BindIPv6Only to both may work as well.