The handshake was integrity protected already in previous TLS versions. The early encryption is explicitly done to get more confidentially, especially to encrypt the certificate which is a major source of meta information in deep packet inspection.
Server identity can still be leaked by other means such as server_name or SNI extension sent by a client.
It was originally planned to encrypt SNI too and was also in the earlier drafts of TLS 1.3 but it did not made it into the final version. But there is a draft for Encrypted SNI and it is implemented in some CDN like Cloudflare already and also in some browsers like Firefox. Note that ESNI is mainly useful when lots of domains are served by the same IP address which is the case mainly for CDN or large hosting providers.
There is also plain DNS as an additional leak of metadata for deep packet inspection - this is addressed by DNS over HTTPS and DNS over TLS.
This does not mean that everything is perfect, but at least less meta information are leaked than before and it gets harder for simple passive DPI to collect user information.