According to Cisco command-reference, "ip mtu" sets the maximum transmission unit(MTU) size of IP packets sent on an interface. I set up an Cisco router interface with following parameters:
R1#sh run int Fa0/0
Building configuration...
Current configuration : 160 bytes
!
interface FastEthernet0/0
mtu 1600
ip address 10.10.10.2 255.255.255.0
ip mtu 1200
duplex auto
speed auto
ipv6 enable
no keepalive
no cdp enable
end
R1#
As you can see, IP MTU is 1200B and Ethernet MTU is 1600B. If I try to reach another host(10.10.10.1) on this broadcast domain using 1400B packets(more than "ip mtu"), then it works fine:
R1#ping 10.10.10.1 source 10.10.10.2 size 1400
Type escape sequence to abort.
Sending 5, 1400-byte ICMP Echos to 10.10.10.1, timeout is 2 seconds:
Packet sent with a source address of 10.10.10.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
R1#
..but packets received by 10.10.10.1 host are fragmented as they should be. However, if I use IPv6 protocol and 1400B packets:
R1#ping ipv6 fe80::215:58ff:fe2a:843e source FastEthernet0/0 size 1400
Output Interface: FastEthernet0/0
Type escape sequence to abort.
Sending 5, 1400-byte ICMP Echos to FE80::215:58FF:FE2A:843E, timeout is 2 seconds:
Packet sent with a source address of FE80::215:FAFF:FE8D:2EF6%FastEthernet0/0
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/1/8 ms
R1#
..then packets received by 10.10.10.1 host are not fragmented. In addition, as much as I have tested, looks like both Ethernet MTU and "ip mtu" start from the IP header and stop with the payload. This is confirmed by Jeremy Stretch from packetlife.net:

Is "ip mtu" exactly the same as Ethernet MTU(configured with "mtu" command on router under interface configuration)
but affects only IPv4 traffic? Or am I missing something?