To be fair, IPSec tunneling is quite common (unsure if its the predominant mode) because tunneling makes routing easier. And for road warrior setups where the peer is often behind a NAT gateway, IPSec VPNs will also tend to use UDP. In such cases there's no advantage to IPSec.
Wireguard is very lean and simple.
can wireguard do tunnel state detection? Can i do a hub and spoke topology with wireguard? or auto-vpn?
ipsec is complex because it is mainly designed as a tunnel protocol with encryption. (site-to-site), compared to the "road warrior" setup wireguard seems more useful for.
* bind a tunnel to a certain interface/ip
* use same port for different tunnels (with same ip or separate iface/ip)
* specify a fixed peer ip/port (or network, interface to use)
* use tunnel in tunnel (with kernel implementation, unless you get creative)
your encapsulation argument still holds true however.
Blocking ICMP may result in black holed connections. I experienced this just like you with websites not working, and with ssh freezing when doing an ll in a directory with a large number of files, or even when starting mc. In my case, an upstream server was blocking ICMP for no good reason (there’s never a good reason to do it permanently, really).
Many types of ICMP messages can be very nasty. ICMP and ICMPv6 RFCs actually describe which messages are importatnt and should not be blocked in any networks, which are dangerous and should be restricted, and varieties between.