If they like to discover new tastes, you can make whatever you want, they will like it. The more "exotic", the better, probably.
If not, then believe me: no fish, no lamb unless you checked if they REALLY like fish or lamb. Otherwise you might earn a stern look when you mention the menu and don't expect them to eat more than what they think is a "out of politeness" portion.
Lasagne: No go. Really. They're going to expect an Italian lasagne and I bet that differs from a British one (even if it doesn't). Unless they never entered an Italian restaurant, don't go through all the hassle and then they will comment on it something like "weeeelll... but the ORIGINAL isn't British...".
Cottage Pie: very yummy but most Swiss would probably look puzzled. You invite them for dinner and server them the cheapest meat (minced) available? And all covered with mashed potatoes, probably made from instant mash? Looks like you want to treat them cheaply and don't want to spend time on them, I think even if you do everything by yourself. Do this the next time you invite them over, not the first time.
The way to go: roast. With Yorkshire pudding. "Pudding" for Swiss is a sweet, jelly-like substance and eaten as a dessert, if ever. Wonderfully misleading for Swiss and definitely worth to see the expression on their faces when you serve it. Salad or veggies, there you go.
Tell them in advance about your menu so they get a chance to plan ahead with their lunch being a bit smaller and won't show up and tell you "good grief! If only we've known, we had a big lunch, not sure if we can eat all that!" That's definitely a downturner for the cook.
Swiss aren't used to cut up the meat as being a big honor. My Dad wouldn't know how and make a big fuss about it where my Mom then would step in and the chaos would be complete. Better cut it yourself.
Oh, and this: if your OH invited them over although he FOR SURE knew you're going to have German class, make him do some of the cooking and setting table etc.!!