What really works is giving food in multiple portions throughout the day instead of one or two big meals. Labradors have this instinct to wolf down everything because they were genetically selected to eat whenever food was available, so if you give three or four small portions instead of one large one, the dog automatically calms down because they don't have that sense of urgency. Anti-speed bowls help, yeah, but they're more of a band-aid than a real solution.
The vomiting after fast eating happens because the stomach gets a mountain of unchewed food and can't handle it - it's pure physics. If you put the food in a bowl with obstacles (like a ball inside, or those perforated plates), it forces the dog to pause between bites, and chewing at least a little helps digestion. But it's not a guarantee: the real change is in distributing the portions.
Another thing most people don't consider: check if he's eating too much in general. A 4-year-old labrador at normal weight should do fine with a specific amount, but lots of people give "big dog" portions without thinking about it. If your dog keeps asking for food, he might genuinely have chronic hunger (maybe the kibble doesn't satisfy him well, or he's eating too much). Try reducing the total amount slightly and spreading it out, so you can see if the behavior changes or if the dog is still obsessed with food no matter what.