Personally, I would book now. The Star Wars cruise is likely to be very popular, so you have no guarantee it will even be available (and even less of a guarantee that your preferred stateroom category will be available) by the time June rolls around.
The onboard discount is simply 10% off the prevailing rate, plus another $200 in credit. Right now, that cruise for 2 people, Oceanview is $3,270. If, by the time you book onboard in June, the rate has stayed below $3,855.55, you’ll have saved money by booking onboard (3855.55 minus 10% = 3470, minus the $200 credit). If it has risen above $3,855.55, you’ll have wasted money by waiting that long.
So yeah, IF the room category you want is still available by June, I somewhat doubt it will have climbed nearly $600 in price. But I don’t think it’s worth the fear that the cruise may sell out in the meantime.
You could always re-check the discount when you’re on the Fantasy. If it’s lower, book that and cancel the first reservation. (You’d still be well within the cancelation period.)