Place paprika and cayenne pepper in a small skillet. Cook, stirring constantly, in medium heat until fragrant, 1 minute or so. Transfer it to a small bowl.
Return the now-empty skillet back to medium-high heat and add rice. Toast, stirring frequently, until golden browned, 3-4 minutes. This happens pretty suddenly so keep a very close eye on it. Transfer to a small bowl and let it cool. When cooled, grind rice in a spice grinder (or a mini food processor or a mortar and pestle) until it resembles fine meal. Set aside.
To make the dressing: Whisk together the lime juice, fish sauce, water, sugar, and ½ teaspoon of the paprika and cayenne mixture in a large bowl. Set aside.
For the meat: Using a paper towel, pat-dry both sides of the steak. Season both sides with salt and pepper. Turn all burners of your grill on high, cover and open lid vent completely. Heat until hot, about 5 minutes.
Place steak over on the hot part of the grill and cook until beginning to char, 5-6 minutes. Flip steak and continue to cook for 4-5 minutes or it registers 125 degrees when the middle part of the steak is inserted with an instant thermometer.
Transfer the meat onto a cutting board, cover it with aluminum foil, and let it rest for 10 minutes.
Slice meat in ¼ inch slices, against the grain. Transfer the slices of meat into the bowl with the fish sauce mixture. Set aside.
To assemble the salad: Add the shallots, pickled onion (if using), half of the powdered rice, Thai chili, mint, cilantro, and cucumbers in to the bowl with the meat. Gently toss to combine.
Serve with the rest of the rice powder on the side.