Why was crsf token discovered at the first place? One can always check from the the request generated by origin header
It is not obligatory for a browser to supply the header. In the absence of a valid Origin header, what assumptions should the application make?
Your suggestion would only provide protection against attacks initiated from other vhosts, not from different applications on the same vhost
will cause legitimate requests to fail if the application implements domain sharding
requires the application to know the domain it is being served up by
Further, origin support is patchy.
Given that it provides a mechanism for user tracking/de-anonymization without relying on client side persistence, it is unlikely to be viable in the long term as a means of ensuring session integrity.