I just "found" an odd behavior or Linux and the VyOS CLI implementation. If adding VXLAN interfaces using iproute2 the MTU differs depending on the creation syntax:
# So using IPv4 + external control plane (EVPN) -> Initial MTU 1500 ip -4 link add vxlan100 type vxlan dstport 4789 external df unset tos inherit ttl 16 nolearning vnifilter local 172.16.33.201 # Using IPv4 p2p -> Initial MTU 1450 ip -4 link add vxlan200 type vxlan id 200 dstport 4789 local 172.16.33.201 dev eth0 # Using IPv6 p2p -> Initial MTU 1430 ip -6 link add vxlan300 type vxlan id 300 dstport 4789 local 2001:db8:1::1 dev eth0 132: vxlan300: <BROADCAST,MULTICAST> mtu 1430 qdisc noop state DOWN group default qlen 1000 link/ether 4e:fb:e3:f5:d9:59 brd ff:ff:ff:ff:ff:ff 133: vxlan200: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default qlen 1000 link/ether 0e:4e:f4:76:59:3f brd ff:ff:ff:ff:ff:ff 134: vxlan100: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether ba:b6:b7:0c:b1:37 brd ff:ff:ff:ff:ff:ff
VyOS always sets a default of 1450 byte MTU which is correct for IPv4 p2p links or multicast, but invalid for IPv6 p2p.
Also this will break EVPN deployments as ethernet bridges with MTU < 1500 bytes are less fun.
Increase default MTU in VyOS 1.4 and 1.5 to 1500 bytes. Migrate old configurations to use 1450 bytes if not specified otherwise on the CLI.