Hi Nora—-SBB does not show every possible combination; they pick the ones with the shortest connection times for efficiency.
The Luzern route you are looking at is a good one, but note that the RE80 train from Lugano to Milano Centrale departs at 15:02 on the SBB schedule, not 15:08. That is the 4-minute connection time I mentioned above. If you are OK with that, it’s great.
The alternative is to take the train departing Luzern at 12:39, which has a 7-minute connection at Arth-Goldau, and goes to Milan with no further connection. This means a later train from Milano Centrale to Desenzano, so you would arrive there later.
As for the train from Milano Centrale to Desenzano, SBB does not sell that because the whole trip is within Italy. You can buy that on Trenitalia. You have a choice of Regionale trains or Frecce (fast) trains. the latter are heading to Venice but stop in Desenzano. They are more expensive, but come with reserved seats, which is a benefit these days of crowded trains. Also, the tickets do not have to be validated like the Regionale trains do.
Trenitalia has a new requirement this year for Regional tickets bought online or through their app, with a “check in” online before you board the train. It is confusing a lot of people here in the forum, especially if they are concerned about not having wifi or a cell connection when they need to validate. You can get around that by buying a paper ticket for the regional train at the station—-it still has to be validated, but you stamp it in the machine before boarding the train, just like before. But they you may have to wait inline for the ticket machine or tickets agent at the window. And last year we found our US Visa cards would not work in the ticket machines in Italy without a PIN. So we had to go to the window.
I just thought I should alert you to these issues so you are aware.