Обязательно ли input submit должен быть внутри form? Структура не позволяет так сделать, как обойти это?
Вообще то есть нативная возможность без костылей выносить кнопку сабмита за форму.
htmlbook.ru/html/button/form
И не надо прикручивать никаких листенеров.
Нет, не обязательно, вариантов много разных.
Можете хоть FormData получить и отправить ajax, хоть инициировать событие вручную