Perhaps your opponent did come back but it didn't load on your screen...
BUG

Just because the client side shows the time at zero, doesn't mean the server hasn't seen a connection. That said, I do think there is some kind of bug with that dialog, in that it shows when it shouldn't show; i.e. there's no disconnect at all. I can't say that for certain but that's my feeling based on watching it at times.
So there have been around 50 games that I've played where my opponent has his auto-resign timer down to 0 and he doesn't auto-resign. So far I've lost like half of these games and it's been like this since July ( at least on my device). FIX NOW,. PLEASE