Can you find any settings related to "input level". Some devices have the ability to understand different input levels, even over Bluetooth.
Also if you are using a currentish iPhone then look in the settings.
Settings
Bluetooth
Select the device by hitting the I button on the right to go to the "device type" screen next.
If it is set to other or hearing aid (joke) then the language between the devices which includes power settings can be wrong. It should show as car stereo so that the language between the devices works correctly (provided the vendor has implemented CarPlay correctly, look for the logo" and hence the volume and advance track etc are integrated correctly to iTunes on the handset. You could try setting it as headphone to see if that changes things more as a test.
I know that on my Alpine the car volume over-rides the on iPhone volume control. However on the ML63 (older) the volume on the iPhone directly overrides the car volume. I can set the car to as high a volume as I like but if the iPhone is set to 10% I will hear almost nothing. I believe the iPhone has a setting that memorises each attached device (the names on the list under bluetooth) and resets things as it attaches. So if a setting is wrong for that device it will be wrong next time until tweaked. I am using an iPhone 12ProMax with iOS 14.8 and now 15 and it does this.
It might be worth going into the iPhone bluetooth menu, deleting (forget this device in details) and then re joining them (after 30 mins). It is wise to make the radio forget this device from it's end as well if possible as it will remember the iPhone and so may retain some settings.
Another thought?
Is the head unit also the AMP? Most AMP's have adjustable level inputs and if they are set to accept a very high output deck this could make a normal input receive less gain and so remain quiet?
Just some thoughts in case they help.