Let's list the usual settings when the device is set as a router, the ether1 is "self-standing" (not part of a bridge) has a DHCP client active (it gets its IP address from the ISP router to which is connected) a DHCP server is running on the bridge (to which all othe rinterfaces are added) giving out addresses in the range 192.168.88.10-192.168.88.254.
These are the normal, default "defconf" settings (used your "bridge1" instead of the default "bridge" name):
Ip pool:
/ip pool
add name=dhcp ranges=0.0.0.1-0.0.0.254
add name=default-dhcp ranges=192.168.88.10-192.168.88.254
Ip dhcp server:
/ip dhcp-server
add address-pool=dhcp interface=ether2 name=dhcp1
add address-pool=default-dhcp interface=bridge1 name=defconf
Interface bridge port:
/interface bridge port
add bridge=bridge1 comment=defconf interface=ether2
add bridge=bridge1 comment=defconf interface=ether3
add bridge=bridge1 comment=defconf interface=wlan1
add bridge=bridge1 hw=no interface=ether1
ip address:
/ip address
add address=192.168.88.1/24 disabled=yes interface=bridge1 network=192.168.88.0
add address=192.168.88.1/24 comment=defconf interface=bridge1 network=192.168.88.0
ip dhcp client:
/ip dhcp-client
add disabled=no interface=bridge1
add comment=defconf interface=ether1
ip dhcp-server network
/ip dhcp-server network
add address=0.0.0.0/24 gateway=0.0.0.0 netmask=24
add address=192.168.88.0/24 comment=defconf dns-server=192.168.88.1 gateway=192.168.88.1
It is IMHO very important to add a comment, such as "defconf", to easily see what entries are the default ones, and of course if you change or remove them you should change the comment to represent the change.
Then there is the firewall nat, to route, you need a nat:
/ip firewall nat
add action=masquerade chain=srcnat disabled=yes out-interface-list=WAN
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN
And (hopefully finally) your firewall filter rules seem incomplete/not adequate for a device that is connected to the internet, it would be better if you would set the default rules:
/ip firewall filter
add action=accept chain=input protocol=icmp
add action=accept chain=input connection-state=established
add action=accept chain=input connection-state=related
add action=drop chain=input in-interface-list=!LAN
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment="defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related hw-offload=yes
add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=WAN
Edit: fixed a typo