Es lógico que si cambias el nivel de acceso desde el htaccess pierdas la vinculación relativa de los assets.
Para hacer lo que intentas, generalmente colocas todos los archivos del directorio "web" de tu proyecto dentro del directorio public_html de tu servidor y luego creas un enlace simbólico llamado "web" que apunte a public_html (al mismo nivel de este).
Esto suponiendo que tu plataforma sea Linux, no sé como será en un winserver .
El resto de los directorios de tu proyecto van al mismo nivel del public_hml.
De esta manera no tenés necesidad de tocar el htaccess y todos tus assets van a estar bien apuntados.
Si insistís en hacerlo vía la modificación del htaccess creo que vas a tener que modificar las referencias de los assets.
Con respecto a el acceso mediante una url del estilo
www.miservidor.com/ es el modo de operación que normalmente se busca, yo lo he implementado en varios proyectos y puedo dar fe de que funciona correctamente.
Así mismo, la redirección hacia el /login es como vos decís.
El index es el app.php por lo que estarías accediendo directamente desde
www.miservidor.com/ a lo que sería el index y si esa ruta está protegida, entonces primero te redirecciona al login y una vez autenticado volves al /.
Te recomiendo que utilices la estructura estándar, que es tal y como te la describía al inicio de este mensaje.
Saludos.