I'm trying to create a subactivity that outputs a data object.
Currently, I have a subactivity, Prepare Pack, that adds a Joker card to the Card Pack data object, removes all twos, threes and fours from Card Pack and returns Card Pack.
To model an output I connected the subactivity to Card Pack data object with an arrow. Is this a valid way of illustrating that the subactivity returns Card Pack?

So here is how I would model it. Given you have the sub-activity modeled with containing actions like this
the card deck is fed in via an object node and leaving via a second one. Another view shows that without the inner structure:
(Note that the lying 8 is a decoration from Enterprise Architect to show the the element is clickable and contains a diagram showing its inner structure.)
Now this activity can be used as invocation like this: