As others have mentioned, Cloudflare do not currently talk HTTP/2 to origin servers so there is little advantage in implementing HTTP/2 in your origin server.
The primary benefit of HTTP/2 is over low latency connections like browser to server, which you already have by Cloudflare serve resources over HTTP/2. There is less benefit for server to server connections.
Additionally Cloudflare use a version of Nginx and it does not currently support HTTP/2 to server side and Nginx have stated they have no intention of adding it:
Is HTTP/2 proxy support planned for the near future?
Short answer:
No, there are no plans.
Long answer:
There is almost no sense to implement it, as the main HTTP/2 benefit
is that it allows multiplexing many requests within a single
connection, thus [almost] removing the limit on number of simalteneous
requests - and there is no such limit when talking to your own
backends. Moreover, things may even become worse when using HTTP/2 to
backends, due to single TCP connection being used instead of multiple
ones.
On the other hand, implementing HTTP/2 protocol and request
multiplexing within a single connection in the upstream module will
require major changes to the upstream module.
Due to the above, there are no plans to implement HTTP/2 support in
the upstream module, at least in the foreseeable future. If you
still think that talking to backends via HTTP/2 is something needed -
feel free to provide patches.
You may agree or disagree with the above, but that seemed fairly definitive when it was written (in 2015) and not seen an update since, though the ticket request for this was reopened 4 months ago and has been left open.
That is not to say that Cloudflare won't go ahead and do this on their own (like the did with Server Push before Nginx supported this), but I'd say it is less likely while the core platform they are based on, does not support this.
Finally you state you are on Centos 7.3. This has an older version of OpenSSL (1.0.1) which does not support ALPN needed to allow HTTP/2 for Chromium-based browsers (Chrome and Opera) and possible more such HTTP/2 clients in future, so this may well be required with an future implemention for Cloudflare. The, very, recently released Centos 7.4 does include OpenSSL 1.0.2 which does support ALPN in theory but the packaged versions of Nginx at the time of writing are still compiled with the older version so that doesn't help (yet). See this blog post for more details. So it is not just a matter of upgrading Nginx but also the OS and/or OpenSSL and even then this will not help at the moment. Of course there are ways around this (installing from source, running it in a Docker image instead...etc.) but if you say the cost to upgrade Nginx alone is significant then I imagine this extra stuff is really going to put a nail in that coffin.
All in all, I would say leave well enough along for now and just enjoy the fact you have HTTP/2 support provided, and looked after, by Cloudflare. In fact one of the simplest ways of getting HTTP/2, given all the issues mentioned above, is to use a service like Cloudflare and not bother implementing this on your own infrastructure.