SpaceX should land first because they actually take risks and innovate. NASA is way too bogged down by endless government red tape to win.
SpaceX also has the hardware pipeline advantage: Starship is being tested fast, and each failure feeds the next build instead of freezing the whole program.