Testei da seguinte forma, e funciona normal:
Fragment newFragment = new Fragment1();
Bundle args = new Bundle();
args.putInt("index", ++count1);
newFragment.setArguments(args);
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container1, newFragment);
transaction.addToBackStack(null);
transaction.commit();
count = getArguments().getInt("index", 0);
Não usei construtor com argumento, não é recomendado. Usei o setArguments/getArguments
No primeiro Fragment não usar o addToBackStack.
PS: publiquei o exemplo aqui: http://agorandroid.blogspot.com.br/2013/04/teste-do-fragment-backstack.html