The concept is straight here ..The key words here are :
Host to host delivery which is nothing but we are talking about IP packets
Here fragmentation does not come into picture because nothing is mentioned here regarding fragmentation.Simply we need to find how many IP packets we need to transfer between the hosts in order to send the required amount of message which is representative of application layer..
So message size = 4 * 106 B
Now an IP packet = Message coming from application layer + TCP header + IP header
And MTU includes all these things..
Hence data allowed in 1 packet = 1500 - 40
= 1460 B
And total data (message) size = 4 * 106
Hence no of packets(IP datagrams) needed = ceil((4 * 106) / 1460)
= 2740
Hence 2740 is correct answer..