Android: el botón Atrás y la parte posterior del fragmento no funcionan

Estoy desarrollando una aplicación simple basada en fragmentos con una FragmentActivity única. Cada 'pantalla' de la aplicación está contenida en un fragmento y todos los fragmentos se agregan al diseño del contenedor al inicio de la aplicación.

// Set up fragments in Main Activity
fragMan = getFragmentManager();
FragmentTransaction ft = fragMan.beginTransaction();
ft.add(R.id.fragment_container, settingsFragment);
ft.add(R.id.fragment_container, mapFragment);
ft.add(R.id.fragment_container, tracksFragment);
ft.add(R.id.fragment_container, waypointsFragment);
ft.commit();

Las transiciones se realizan ocultando el fragmento actualmente visible, y luego mostrando el fragmento apropiado.

ft = fragMan.beginTransaction();
ft.show(mapFragment);
ft.addToBackStack(null);
ft.commit();

Todo esto funciona bien, pero cuando se presiona el botón Atrás, la aplicación se cierra, independientemente de qué pantalla esté visible o qué transacciones anteriores se hayan agregado a la pila.

Me he asegurado de que la pila trasera esté acumulando registros de forma adecuada e intente muchas variaciones diferentes de los métodos de transición, como reemplazar los fragmentos en lugar de ocultarlos / mostrarlos, crear nuevas instancias de fragmentos en lugar de almacenarlos en variables, etc. Como puedo ver, mi código coincide con todos los tutoriales y ejemplos que puedo encontrar, y ni siquiera he podido encontrar preguntas / ejemplos similares de problemas similares, presumiblemente porque la implementación estándar "simplemente funciona" para otros.

Sospecho que puede ser un problema en el nivel de la aplicación, como una propiedad en mi manifiesto (que he investigado a fondo) o algo inherente a la forma en que se configura mi aplicación que impide que el botón Atrás funcione correctamente. Puedo anular onBackPressed para manejar las transiciones manualmente, pero esto parece ser una solución muy fea. ¿Alguna idea de por qué esto podría no comportarse como se esperaba? Por cierto, esto es en un Nexus 7 con Jelly Bean.

Respuestas a la pregunta(3)

Su respuesta a la pregunta