I'm starting to see it another way.
If I say that I can write a desktop program for them, solution, then that statement stands in itself, like a blank-slate.
If they say that desktop program means Winforms because "that is what they do, or that is what desktop programming is", then they can either hire me to do that if both are willing or they can accept that that is simply not my toolset. You can continue to sell such a customer on whatever they say they want (a moon made of green-cheese), but you are not "their customer" at some point, at some point you are putting on a wig, taking hormones, and not doing what you are selling, you are doing what someone else should have sold to them. It's not your customer(?)
The reason I state all this is because the word "morally" has crept into this thread.
BUT the client HAS TO EXPECT ADVICE
The client has to tell you what they want, from the beginning, or probably wouldn't be having the conversation, so it's not really about advice there, they either want what you are "selling" or they don't. Everyone is selling something, no getting around it, unless you are just another worker, but we all are that effectively, that is life for all beings period, no getting around it 100%. But this thread is about moral-ground, where it stands.