The GUI syslog view does not read /var/log/syslog at all. It streams from the systemd journal (journald), so the file being readable only proves that rsyslog or something similar is still writing the file. That split is exactly what you see when the journal itself is the problem.
Worth checking on the node first:
journalctl --no-pager -n 20
ls -la /var/log/journal
If journalctl also shows nothing useful (or only the current boot), the persistent journal is missing or empty. After upgrades this sometimes ends up with journald keeping everything in /run/log/journal (volatile, wiped at every boot) or with no /var/log/journal directory present at all. What has fixed it for me on other boxes:
mkdir -p /var/log/journal
systemd-tmpfiles --create --prefix /var/log/journal
systemctl restart systemd-journald
Then look at /etc/systemd/journald.conf. Storage=persistent (or auto with the directory existing) is what you want on a node you administer over the GUI, then restart systemd-journald once more. After that the Administration -> Syslog panel usually fills in immediately, no pveproxy restart needed.
If journalctl looks fine from the shell but the panel stays blank, the problem is on the API/browser side rather than the logging side. Keeping journalctl -f open in a second SSH session while reloading the panel shows within seconds whether new entries even reach the journal.
Personally I keep rsyslog installed on my nodes mainly so I still get the plain /var/log/syslog file for quick grepping, but the GUI never reads that file, so the two views can disagree exactly the way you describe.