How do I join two models together without messing up the texture?
Your are using two UV Maps with different names.

When you join the meshes, the UV Maps will be mantained:





If you want to merge the UV Maps, just assign them the same name before merging.