You apparently haven't worked much with cellular.
Cell towers do NOT like idle nodes and remove bandwidth from them quickly. Unless your cell module sends data every few seconds, you will have a delay when you start to talk.
So when you start the GET, first your LTE-M needs to 'beg' the tower for radio bandwidth, which the tower likely needs to remove from other active peers. This takes time. Then you might do an DNS lookup. If you use the carrier's DNS server, they tend to be fast (aka: they want to track what names you look up). if you've set DNS to some alien host like OpenDNS, carriers (like Verizon) seem to punish you by delaying lookup response by dozens of seconds. They'll say they don't, but watch a network trace! I've seen OpenDNS replies show up over 45 seconds after I send them via VZ.
Only once all the above is complete can the LTE-M module attempt TCP/IP and HTTP. So 15 seconds from idle to completion is NOT BAD for cellular.