Why do all objects bend upon joining them?
When you join objects with Ctrl+J, only the modifiers of the Active object are kept. (Active = the last one you selected, appears in lighter orange).

What you can do is Apply all the modifiers before joining. Just click Apply under the name of the modifier, for each object.