Or maybe, just maybe, hear me out on this... maybe your proposal is not as smart as you think it is.
For one thing:
> Cert request signed by the private key of the domain owner, sent to the registrar to verify, the registrar signs it if its true
What exactly does the registrar verify, and how?
The domain owner creates a CSR and signs it using their private key. Sends it to the registrar. The registrar uses the public key the user uploaded to validate the signature. This happens millions of times a day on shitty computers, this is completely old boring technology.
Now the registrar sends the Registrar-Signed-CSR back to the user. The user sends the RS-CSR to a CA. The CA uses the Registrar's public key to validate the Registrar's signature (exact same process as before). Now the CA can see the Registrar signed it, so it's legit.
Easy to automate. Boring old technology. Same flow millions of computers use every day, just with one extra party in the middle.