I had a similar problem then found a message on the hls.js project indicating the spec had changed. If the #EXT-X-MAP tag follows #EXT-X-KEY tag, the initialization segment must also be encrypted.
The EXT-X-KEY tag specifies how to
decrypt them. It applies to every Media Segment and to every Media
Initialization Section declared by an EXT-X-MAP tag that appears
between it and the next EXT-X-KEY tag in the Playlist file with the
same KEYFORMAT attribute (or the end of the Playlist file).
Haha, that was me.
Does it work for you now on iOS 13.4 or macOS 10.15.4? If so, are you using MPEG-TS or fMP4?
It seemed like there was a stealth update (I have automatic updates turned off) that fixed it for a short time. But it is still broken on MacOS 10.15.4 (19E287) Darwin, Safari 19.4.0 13.1 (15609.1.20.111.8)