There’s no need to have a rule to explicitly drop ICMP in your posted filter rules.
The final rule in the chain will drop anything that has not been accepted by a previous rule. The previous rules only accept packets in the established / related states - meaning that the router will only accept packets which are replies to requests generated by the router itself. (assuming that your router’s public IP address is on interface ether1 - NOT pppoe1 or some vlan sub-interface of ether1)
Essentially, this special rule only serves to waste CPU resources by performing an extra set of checks on every single packet received by the router. The final rule will drop the icmp packets anyway because they will not be part of established connections, or related to those established connections.
And to elaborate on evince’s post - the problem in your posted rules is that the in-interface is set to !ether1 which means “not ether1” so in your original post, the first rule would block pings to the router from every interface EXCEPT ether1.