The long poll transport is only Ajax so if REST/HTML works, then long poll will work. Did you make the following changes to your app.js and endpoint?
import {Socket, LongPoll} from "phoenix"
let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content")
let liveSocket = new LiveSocket("/live", Socket, {
transport: LongPoll,
params: {_csrf_token: csrfToken}
})
…
socket "/live", Phoenix.LiveView.Socket,
longpoll: [connect_info: [session: @session_options], log: false],
websocket: [connect_info: [session: @session_options], log: false]