I wouldn't even consider nesting a side trip before the cruise. What happens if you get stranded in Berlin the night before your ship leaves?
Then, just get your NYC-CPH-NYC tickets sorted, and then buy a separate CPH-SXF/TXL-CPH on easyJet or similar. Right now for a trip over August 10 they charge 60€ per person, which cannot be beaten. Any faffing about with DY or adding stopovers will cost you more in phone calls.