Don't get too distracted by the "translated to the origin" business. The only reason it's even an issue is that here you have a special case, in that M is embedded in R^k. So there is some actual m-dimensional hyperplane H in R^k which lies tangent to M at p. But the tangent space is a vector space, and if you want it to be isomorphic to H, then you need to translate H so that p goes to the origin. Otherwise H probably isn't even a subspace (generically you don't expect it to include the origin of R^k), and if you want to think of the tangent vectors at p as "pointing out of" p, then the only way the isomorphism works is for p to be the origin.
But, like I said, don't get too caught up on it. This is just to help your intuition, but later on you won't typically imagine your manifold to be embedded in Euclidean space. In that case, you just imagine a little copy of R^m stuck at every point of the manifold, and there's no mumbo-jumbo about translating anything, because the copy of R^m isn't embedded anywhere, either.