Я разобрался с 2 своими проблемами. Я публикую их на случай, если у кого-то еще случится то же самое.
Для # 1 / # 4: сайт использовал плитки, и по всему сайту использовался блок заголовка html по умолчанию.
<html>
<head>
<script src="foo.js" type="text/javascript">
</head>
Экспликация конфигурации заблокировала этот файл javascript для пользователей, которые не вошли в систему.
<intercept-url pattern="foo.js" access="isAuthenticated()"/>
Поэтому, когда пользователь заходит на домашнюю страницу, сайт загружается, за исключением foo.js. Так как методы в foo.js никогда не вызывались до входа в систему, казалось, все работало нормально.
Однако, когда кто-то попытался войти в систему, Spring Security увидел foo.js как первую защищенную страницу, которая открылась, и автоматически открыл ее.
Это также привело к двойному вызову страницы входа. Один раз для реальной ссылки входа в систему и один раз для файла foo.js.