Preheat oven to 350°. In a large saucepan, bring stock to a boil; stir in orzo. Cook, uncovered, until orzo is al dente and broth is absorbed, 8-10 minutes .
Meanwhile, in a large saucepan, heat butter over medium heat. Stir in flour until blended; cook and stir until lightly browned, 4-5 minutes. Gradually whisk in milk, salt and pepper. Bring to a boil, stirring constantly; cook and stir until thickened, 1-2 minutes. Stir in 1-1/2 cups cheese; cook until cheese is melted.
Add orzo, ham, broccoli and kale. Transfer to a greased 13×9-in. baking dish; sprinkle with onions and remaining cheese. Bake, uncovered, until bubbly, 20-25 minutes.