in over for decades with cats I never had to restrict food, always had free choice available, stray, feral, born in my house. I did notice some foods obviously are so tasty, they get eaten faster. Which can result in presents on the carpet. I also noticed these foods are usually not the healthiest ones. I've switched to a no grain diet, which mine like, but not overeat on. I also have one cat who insists on having grass available all the time, the other, who is long haired, won't touch grass, so I do deal with hair balls from her. The one who eats grass all the time, NEVER brings up hair balls.
I would try one of the "better" foods, maybe a slim version, and feed several tiny little meals a day, if that works, I'd try free choice. At least, with the small meals, the presents are not as big. I also wouldn't rule out the hair ball, so either offer grass, or one of the countless hairball remedies.