Simply have company registrars double as domain registrars
Why the insistence on making this difficult? Why not just do it the easy way? Maybe because there is money to be made in making it complicated and corrupt.
There is a simple solution:
1. Each national or state company registrar buys its own their own gTLD.
2. The registrar only grants names within its gTLD to registered company names.
For example, .uscorp could be run by the US registrar of company names.
Since its current duty include ensuring that registered company names are not easily confused, it could simply make sure that all .uscorp domains follow the name of the companies they represent.
The same can be done with trademarks and a .ustm
Company registrars of other national and state governments would have their own gTLDs.
Sure people can have other gTLDs, but users are going to know those are not tightly regulated. Consumers will look for the official domain name administered by a government agency with decades, even centuries, of experience in keeping names straight.