Openers Shai Hope and Sunil Ambris both made fifties as the Windies reached 154-1 from 24 overs before rain intervened.
That left Bangladesh with a tricky total of 210 to win from 24 overs on DLS method when play resumed, but they made short work of the target to win by five wickets with seven balls to spare.
Bangladesh, who open their World Cup campaign against South Africa at The Oval on June 2, ended the series with four wins from as many completed matches, beating Ireland once and the West Indies three times.
Soumya got his side off to a flier with a 41-ball 66 at the top of the order, while wicket-keeper Mushfiqur Rahim struck 36 before both were dismissed by Raymon Reifer, giving the left-arm seamer his first one-day international scalps.
But all-rounder Mosaddek helped Bangladesh race to the finish line with a sparkling, unbeaten 52.
With 27 needed to win from the last three overs, the 23-year-old clubbed Windies spinner Fabian Allen for three sixes and a four in four balls, reaching his second ODI half-century from only 23 deliveries.
Mahmudullah completed the job with a fine drive over the cover fielders.
The West Indies will be strengthened by the arrivals of Chris Gayle and Andre Russell ahead of the World Cup after Indian Premier League duty, while Bangladesh will hope that Shakib Al Hasan recovers from a back strain that kept him out on Friday.
Brief scores:
West Indies 152-1 in 24 overs (Shai Hope 74, Sunil Ambris 69 not out) v Bangladesh 213-5 in 22.5 overs (Soumya Sarkar 66, Mosaddek Hossain 52 not out)
Bangladesh win by five wickets (DLS method)