Typically what I do when I'm prepping a campaign is pitch a rough concept to players. I form a group out of people who are positively interested in the game pitch. If I later find out someone just wanted to get their feet under the table and is trying to get me or the other players to make a switch on the order of, say, changing a Traveller game to Starfinder (or any similar change to concept or setting) I drop them. Conversely, if someone sits it out because the game pitch isn't their thing, I make sure to invite them to the next campaign because I know they'll be on board if they do play.
I do all this not because I have a Viking hat GMing style once play starts, or because it's my way or the highway. I do it because consensus is a terrible way to generate a campaign that's actually fun for everyone. You would think it would be, because everyone gets a vote, but that's not how it works out. You end up meeting in the middle on several different dimensions. Serious versus jokey, epic versus street level, followers and rulership versus player characters only, any number of things where one extreme or the other might be appropriate to a campaign concept, but you end up in the middle. Or if not literally in the middle, incorporating wildly unrelated requests from 4-5 different people.
That being said...
What would you add to the list or remove from it?
I would remove everything from that list. I would prepare pitches for 3-4 coherent campaign concepts that you yourself are positively interested in running, AND that you might guess would interest some of your players since you know them, and ask for a vote.
Things I have done in session 0's:
Pitch a single-clan game in Legend of the 5 Rings. Hold a secret ballot for what clan to play - I didn't vote. Rolled with what the players voted for.
Generated a noble house for the players to be retainers and lower ranking members of, using the rules in A Song of Ice and Fire rpg (despite running the game in another system).
Generated characters, obviously. Ask the players why they're adventuring together, and what connections they have to other player characters. Do not start play until this answered, even if it's only in brief.
Ask for NPCs from their background. Daimyo, sensei, and immediate family were common for L5R, but can be more general for other games. Names and short sentences preferred over lengthy stories. The shorter it is the more likely I am to remember and use it. Don't just screw them over by holding their family hostage, make it positive, though in some systems very positive can require a point expenditure rather than just writing down "my father is the daimyo".
Make sure player characters have roles beyond their class role. In a clan game, what their position is (scribe, executioner, spare heir, etc.) In a Traveller campaign, what job they have on ship (pilot, mechanic, steward, deckhand/working passage if they don't have any obvious ship skills). If they can't come up with one or agree to any of several suggestions, that's a sign we have a problem. "I'm the muscle/comic relief/fish out of water" is not an acceptable position/job, it's more something you overlay on a nominal position.
Run a sample combat.
Things I haven't done in a session 0 but should:
Run a sample combat, using pre-gens, and ending in a TPK (likely, unless they surprise me). Have the party run across the aftermath of that later in play with their own characters.
Generate a fantasy world and history using Dawn of Worlds. Go away for a month, develop a setting and custom classes based on the players choices, run that in D&D (or whatever seems appropriate).