I'm not sure I understand your first point. Lego sells interesting models, and the pieces necessary to build them. For castles, this means a lot of blocks that are rectangular, and some special ones for things like gargoyles and drawbridge winches. For spaceships, this means a lot of angles and greebly-bits that you can make look like engines and weapons and exhaust ports. There's not some sort of "trick" where Lego is forcing you to buy high-margin specialty pieces; people want those pieces because they let you make things that look better. And, sure, if you try to take the pieces from a castle and make a spaceship, you'll end up with a blocky-looking spaceship. But I fail to see how providing the option of sleek pieces (which you could also use to make a sleek, elven-looking castle?) somehow degrades the experience. There are very few pieces in modern Lego sets that are genuinely single-purpose; a spaceship control surface could easily be an angel wing, a ship's rudder, or the fairing of a racecar.
Minecraft supplements, not replaces, Lego in the minds of creative kids. Minecraft is neat, and it lets you do a lot, but there's something special about being physically engaged with what you're building. You can't take your Minecraft creation out back to play by the stream (unless you recreate it with Legos?).