My wife and I returned in mid-May from a visit to Scotland April 28 through May 14. We had been to the Isle of Skye before arriving by ferry in Mallaig. We had about a 2 hour wait before we took the Jacobite Steam Train to Ft. William. Do you have reservations for the Jacobite train? If you can, get seats on the right side of the train as it moves forward (Starboard).
But regrading your question about Mallaig. We arrived in the rain and it rained off-an-on for the two hours we were there. Perhaps our impression was influenced by the weather, but we didn't find it remarkable. The fish-n-chips at the vendor in the train station are delicious and modestly priced. Seating is extremely limited, we ate in the train station. You can take food on the Jacobite Train. Our bottom, line, don't get the family up early for Mallaig. For whatever it's worth, we also stopped in Oban (also in the rain) overnight and thought it was a more interesting place to visit than Mallaig. By the way, if you visit Oban, the restaurant at the Ferry Terminal at Oban (upstairs--not at ground level) had great food and the Oban distillery offers tours.
As we were doing our research, Ft. William didn't exactly get rave reviews, so as we made our plans, we were only there overnight (from the arrival of the Jacobite train until the next morning) but we thought it was worthy of more time than we were able to spend there. Are you planning on spending any time there; before or after your train journey? The Neptune Staircase is an interesting stop. We had hoped to visit the Ben Nevis distillery, the Nevis Range Mountain Experience and Inverlochy Castle, but didn't have time.
Happy travels in Scotland.
PS: Don't hang out the windows on the Jacobite train while taking photographs, you could get badly injured,