I guess you have to understand how SYSTEM_THREAD(ENABLED)
works before you jump to conclusions.
For example, if you put your while()
containing the call Cellular.connect()
up into setup()
I’d assume you’ll see it working too.
Or just add a waitUntil(Cellular.ready)
as last line in setup()
and remove that while()
block and see.