Okay so 145 calories per piece sounds manageable, right? And it is, if you actually stop at one or two. The problem is nobody stops at one or two. These things are cheap, they come out hot and crispy, and you're standing at the stall chatting while the auntie fries them. Before you know it you've eaten five pieces and that's 725 calories for what is basically a snack. The calorie driver here is not the prawns (only 10 cal worth of prawn in each one) and definitely not the bean sprouts. It's the flour batter at 75 calories and the oil absorbed during frying at 50 calories. Batter plus oil is 125 calories before the actual filling even shows up.
What changes the maths is pretty simple: how many you eat and whether you dip. If you eat two pieces, you're at 290 calories, which is fine as a snack. Eat four and you're at 580, which is basically a full meal's worth for something that won't even fill you up properly. The dipping sauce they serve with it (sweet chilli, usually) adds maybe 20 to 30 calories per tablespoon so it's not the main issue. The bigger thing is the prawn-to-batter ratio at different stalls. Some stalls use a lot of batter and very little filling, some stuff it properly. More batter means more calories, and you honestly can't tell until you bite in. If you're tracking, 145 per piece is a safe estimate for a standard hawker piece, but at a stingy stall it could creep higher.