If you use href={~p"/items/#{item}"}
(which the generated code uses) instead of navigate={~p"/items/#{item}"}
it works.
Have a look at the difference in the generated <a>
tags: href
will include the data-method="delete"
attribute, navigate
does not
<.link href={~p"/items/#{item}"} method="delete">
<a href="/items/1"
data-method="delete"
data-csrf="..."
data-to="/items/1">
Delete
</a>
<.link navigate={~p"/items/#{item}"} method="delete">
<a href="/items/1"
data-phx-link="redirect"
data-phx-link-state="push">
Delete
</a>