Set a strainer over a large bowl. Set a cheesecloth, nut bag, or tea towel on top of the strainer. Grate the zucchini and onion over the cheesecloth. Sprinkle all over with the salt and gently toss to combine. Let the grated veggies sit for 10 minutes, then gather the cheesecloth around the veggies and wring out as much liquid as possible.
Meanwhile, in a large bowl, combine the flour, baking powder, green onions, and Parmesan. Stir in the egg, milk, garlic powder, and pepper. Stir in the zucchini mixture until well combined (see Note).
Pour ½ inch oil into a large, deep skillet. Heat over medium-high heat. Once the oil is hot, working in batches, add ¼ cup portions of batter to the oil. Using a fork, carefully spread each portion into rounds, about ½-inch thick. Cook until golden brown, 3 to 4 minutes per side. Transfer to a paper towel-lined plate and sprinkle with flaky salt. Repeat with the remaining batter.
Serve warm with sour cream on the side for dipping.