I verified my downloaded archive again.
# sha256sum -c nextcloud-16.0.3.tar.bz2.sha256
nextcloud-16.0.3.tar.bz2: OK
Stopped nginx, unpacked the tar archive, copied my config.php, manually copied my missing /apps/ and ran the ownership/permission fix over NC and the data dir.
After restarting nginx, I performed the occ upgrade step.
https://pastebin.com/i7FPEk2n
I then updated my apps via occ.
# sudo -u www-data php occ app:update --all
EDIT:
With occ log:watch in the background I kept testing, so far the issue seemed to stay the same.
Until I tried the following:
# sudo -u www-data php -f occ files:scan-app-data
Scanning AppData for files
+---------+-------+--------------+
| Folders | Files | Elapsed time |
+---------+-------+--------------+
| 12319 | 27123 | 00:12:47 |
+---------+-------+--------------+
The NC error-level log stays empty now and the page loads without problems.
The missing files in appdata_X/css/icons/ seemed to have been added again as well.