I completely agree with point 3, having to leave everytime gets very annoying.
I think the intention is that people might stick together if they enjoyed the match and then it'd rebuild a team and queue once everyone readied. Rocket League does something similar in unranked and has similar problems. The universal issue is that it's quicker to just join an already-in-progress game than wait the few minutes it takes for MM to fill your game.
I agree a punishment for leaving is usually essential to getting people to commit to full games. The full-bonus for joining late is nice though.
Nothing is worse than people on your team leaving the second a game starts. Automatically restarting is a bad idea for this reason. You can never leave without hurting your team. I think you should be punished if you leave and there should be a 1 minute grace period inbetween. But the way they have it now works.