Preheat the oven to 350°F. Spread bread cubes on baking sheet. Bake for 10-15 minutes, until dry and firm. Remove from oven and let cool. (You can turn off the oven at this point, as baking the entire dish won't be for awhile.)
Heat olive oil in a large skillet on medium heat, add onions and cook stirring frequently until they become soft and translucent. Add the sliced kale and continue cooking until the kale has just barely wilted. Transfer the onion-kale mixture into a large mixing bowl, at least 3-quart size. Add the ham and sweet potatoes, then gently stir to combine.
In a medium mixing bowl, combine the eggs, half and half, grated cheeses, dry mustard, cayenne pepper, salt and freshly ground black pepper. Make sure the eggs are fully scrambled within this custard mixture. Pour the custard mixture over the ham-sweet potato, kale-onion mixture; then fold in the bread and cheese.
Pour everything into a well-buttered 2-quart baking dish. Cover with plastic wrap and refrigerate at least four hours, up to 24 hours.
When ready to bake, position an oven rack in the middle position of the oven and preheat the oven to 350°. Remove the plastic wrap from the dish and place it in the oven. Bake for one hour or until fully set. Test for doneness by inserting a clean knife into the center of the dish. If it comes out clean, the custard is set. It should be nicely browned and puffy; and pulling slightly away from the sides of the dish. It will settle as it cools, so know that gorgeous puff is fleeting.