My main concern is to use the devices that already have static IPs in 192.168.4.0/24 network. I don't want to change the IP addresses to new Vlan10's IP.
Well, if you want to have an simple setup, i would not create a Mgmt LAN only for PiHole. Just put the PiHole into your VLAN10 and assign the PiHole as the primary DNS to all clients. On the firewall, create two roles on your VLAN10 interface (in this order, before the allow any internet rule)Allow Port 53 UDP/TCP from PiHole IP address to anyBlock Port 53 UDP/TCP from VLAN10 network to anyThis allows only the PiHole to send DNS queries towards the internet and the local clients must use the PiHole as their DNS. Alternatively you could also use opnsense as your local DNS and from opnsense forward all DNS traffic to the PiHole (Resolver).