When I test with Cisco 2960 series switches or with ISR routers, then if port receives an Ethernet frame larger than its MTU value seen in sh int output, then device drops this frame and increases the giants counter. In my opinion this is an expected behavior. However, for example some Linux servers(different NIC vendors and thus different kernel modules) still process frames with larger MTU than seen in ip link show or ifconfig output and send fragmented reply back.
What is a correct behavior? What should a device do when it receives an Ethernet frame larger than its MTU? I would expect it to either silently drop this frame or behave like Cisco equipment which nicely counts giant frames.