Marinate first. In a Ziploc bag.
Then skewer.
Takes up less room in the fridge that way.
ALSO, soak the skewers (if it is bamboo), for at least 1/2 to 1 hour in water, first. So they don't burn on the grill.
Pineapples don't have to be, marinated. Or just marinate it less.
It will get sweet when grilled anyway.
Sometimes soaking them for awhile will make them soggy... because the acids in the marinade can break down the fibers in the pineapple... and it sort of loses its shape and is harder to handle.
You are grilling Ham. Ham cubes are typically firm, not like soggy raw meat/beef.
So, yes, marinate first.
Or, assemble, then brush marinade on them AS it grills.
Ham/pineapple kabobs, are done either of those ways.
The marinade for this, is Teriyaki. Which is to me, the best with ham/pineapple.
all the best,
Susan