Eu tenho medo que você tenha entendido mal alguns conceitos do Apache aqui. O argumento em um bloco <Directory> é um caminho completo do sistema de arquivos, não um relativo à raiz do servidor. Você deve nunca realmente alterar o bloco <Directory /> do padrão. Você não precisa alterá-lo para que sua configuração funcione.
O argumento para um bloco <Location> é relativo à raiz do servidor. Então você só precisa de dois desses blocos para conseguir o que deseja.
<Location "/assets/upload">
Order deny,allow
Allow from all
Satisfy any
</Location>
<Location "/">
AuthType Basic
AuthName "Staging"
AuthUserFile /var/.../.htpasswd
AuthGroupFile /dev/null
Require valid-user
</Location>
Você deve ter um único bloco <Directory /> no contexto global / servidor (ou seja, não dentro de qualquer vhost) e deve ser algo assim.
<Directory />
Options FollowSymLinks
AllowOverride None
Order allow,deny
Deny from all
</Directory>