[2] I feel like we have a pretty solid model at this point in terms the steps to create a new successful product, but I tend to do all those steps and I've definitely hit the wall on not having enough hours in the day. In the past I think our failure was trying to hire people to replicate that process across new people. It's been tough finding capable people. I very often have the crippling thought of "This is taking so long, and so much of my time, I should just do it myself". This year we're switching things up to instead try and delegate my existing responsibilities as much as possible and free up my own time for new product development instead.
[3] 3 engineering (me + 2 eng) and 1 biz/sales (co-founder). Engineering/Data side is absolutely our bottleneck. I've had a lot of difficulty (I'm a poor people manager and terrible at hiring) in finding the right people. Generally speaking I think generalists with a keen eye for the bottom-line would be the most helpful (e.g. tech entrepreneurs) but those people tend all have their own startups or golden handcuffs.
My advice would absolutely to keep things small as possible as long as possible. Identify areas you can automate to free up your time, and prioritize work based upon revenue-potential. Avoid doing stuff that engineers love (let's rewrite our stack in Go and React!) and stick to your core proficiencies. Clients rarely care what technology you use, they care about whether or not it solves their problems. If you have any control over it at this point, go for clients that have a lot of money. It's a hell of a lot easier to manage one big client paying $250k a year than it is to manage 2,500 small-business clients very upset your $10/mo product doesn't precisely meet their specific needs.