I went across Eurasia and I carried almost everything you mentioned because I wanted to make sure I could take care of my bike in case something break down with nothing available around.
I never used the crank puller nor the BB tool during our 5-year trip for neither of our bikes. I did used the cone wrenches several times. Peter is right, don't carry bearings it is too heavy and make sure you have brake and derailleur cables and some brake pads.
I used the cassette remover and a chain whip a couple times to change the cassette. But you don't really need it if you have it done by whoever sold you the cassette. For the chain whip you can make your own using a old chain it would be much lighter than the one they sold commercially.
What you will need depend on two factors. The main one is the quality of the component you are using. Obviously the better they are the least you will have something to break.
For example, people often mention the broken spokes. I had a custom bike and the guy really knew what he was doing when he build our wheels (I traveled with my wife so we had two bikes). After 5 years neither of our bikes broke a single spoke.
The winning combination he used was the 2mm stainless Sapim Strong spokes (Belgium made) with reinforced elbow and brass nipples (not aluminum); I think those really did the trick, that along with a 26" wheels, and a 36-spoke Rigida laser rim (I changed to Sun Rhyno later on). Plus the wheel has to be very well built - this is very important- so the tension is spread out evenly through out the whole set of spokes.
Another factor is how much weight you will be carrying. The more weight, the more stress the more chance to have something to break (I know Peter won't disagree!). For example, I carry a lot of weight so maybe it is why I had to use the cone wrenches and Peter did not (nor did my wife's bike).
If you are planning to cross India, keep in mind that it is very difficult to find decent bike components there. Maybe you should change your cassette and chain. I carried an extra chain but it might not be necessary.
I recommend to keep a close look at your components before you leave Tehran. If anything start to fail on you or show signs of wear, maybe it is time to change them. Here are some signs you should be looking for: jumping chain, derailleur you can't adjust anymore (might be bent), ring gear teeth with asymmetrical profile, wobbling pedals, wobbling headset, worn off rim side wall.Also check the side of the tire
There is no need to carry a spare tire if you use Schwalbe tires
because you will end up carry it for years before you have to change it. You would be better off checking the tire and have one shipped to you when you feel it was time to change it. I didn't really check my tire and once in India, one of my tire was so worn that it cause a hole to form. I went to a local bike shop where they had old beat up bike tires so I asked them to cut me a 3-inch section of one of them. I put that section between the tube and the tire where the hole was and I was able to do another 1500 km to reach Thailand where I had a set of new tire shipped.
Thailand is a good place to upgrade or change your components as it is quite cheap.
Don't forget, CycloCamping.com has very competitive price including for bicycle tools