I noticed that when using a BehaviorDelegate (which derives from InputDelegate) and you use onKeyPressed, then popView doesn't need to be called to exit the app when the back button is pressed. I assume if you're also using onKeyReleased you might need to call popView, depending on which keys you're handling and whether you return true or false.
I switched to onKey and found myself stuck in the app on my actual watch. It has a touch screen, so I was able to use the palm cover gesture to go back to the watch face. What I found is that I either need to check if the back button was pressed and call popView, or only return true for keys it handles and return false by default for any other to have the system handle the default behavior.
I don't know if these things can be said as general truth. I think it depends very much on your app and mostly on the other relevant callbacks in your delegate (when do they return true/false) and probably many other unknown things.