I also noticed the log_level is ignored, even if you set it through UCI. uci set wireless.radio0.log_level=1 correctly sets it in /var/run/hostapd_phyX.conf, but the log level used by hostapd stays the same (INFO).
As for why the hostapd_cli call you pasted doesn't work, it's because it uses the level name instead of a number.
So to set it to level 4, try:
hostapd_cli -i wlan0 log_level ERROR
The available levels are:
Following priority levels are used: