I know that apache 2.4.17+ can serve AEM hosted content using HTTP2 and the dispatcher module is agnostic to the HTTP version but does the day commons http client bundle support HTTP2 connections to external services e.g. web services where AEM is the client? More importantly, if the dispatcher apache server only allows HTTP2, will replication flush agents still be able to connect via HTTP2 to flush the dispatcher cache?
Per my knowledge, you would need to configure proxy (to make TLS v1.2 mandatory) for HTTP Client under '/system/console/configMgr' and get what you want to do.Depending on how you configure HTTP2 (strict or lenient) for both AEM and Dispatcher/Webserver, replication/flush agents would work otherwise throw error during connection establishment.
HTTP/2 is defined both for HTTP URIs (i.e. without encryption) and for HTTPS URIs (over TLS using ALPN extension where TLS 1.2 or newer is required). Although the standard itself does not require usage of encryption, all major client implementations (Firefox, Chrome, Safari, Opera, IE, Edge) have stated that they will only support HTTP/2 over TLS, which makes encryption de facto mandatory.
Day Commons HTTP Client configuration under /system/console/configMgr -