The prefork model imposes quite a few restrictions on HTTP even without HTTP/2, but with HTTP/2, it prevents many features of HTTP/2 being used. Since each request occurs in a separate process and there is no multi-threading, Apache isn't able to multiplex them (serve multiple requests on the same TCP connection) unless it changed the way prefork works quite substantially, which it has chosen not to. So HTTP/2 support is limited to a single request at a time per connection when using prefork.
(This is documented here)
A good modern way of integrating PHP with a web server is to use PHP-FPM (PHP's built-in FastCGI process manager) and having the web server relay PHP requests off to that, and receive their responses. Then you can use a multithreaded web server like Apache with the worker MPM, or an event-based web server like Apache with the event MPM, or nginx (which is particularly good at HTTP/2, due to its ability to hold open thousands of connections with very little memory). In fact this is probably the most common way of using PHP with nginx, and I've also seen it used on Apache2 before for security reasons (eg having different PHP apps running as separate users). Supporting HTTP/2 seems like a decent reason too.
There are many guides to setting up web servers and PHP to use PHP-FPM.