Place a steamer insert into a saucepan and fill with water to just below the bottom of the steamer. Bring water to a boil. Add cauliflower, cover the saucepan, and steam cauliflower until tender, 2 to 6 minutes.
Melt butter in a saucepan over medium heat. Cook onion in butter, stirring regularly, until caramelized, 15 to 20 minutes. Remove saucepan from heat. Stir Cheddar cheese, tofu, cream cheese, garlic powder, white pepper, mustard powder, and sea salt with the onion; add steamed cauliflower and ham and stir. Transfer the mixture into a casserole dish. Sprinkle Parmesan cheese over the top of the dish.
Bake in preheated oven until heated through, about 10 minutes.