Object reverts back to non-modified state after joining
The object(s) that you select before the last object with the modifier will discard their modifier stack and inherit that (the last) object's modifier stack.

Easiest way to avoid any loss of modifiers is to apply them before doing any joins.