Got it working as expected now! For anyone else having this issue, the problem was I had a massive backlog of “Episode search” tasks (in System → Tasks) which Sonarr was attempting to complete before processing the manual imports, and for some reason restarting Sonarr didn’t cancel all those tasks so it got stuck endlessly searching for episodes.
The solution was to disable all indexers which meant all the pending episode search tasks failed, then all the manual imports I had pending were processed within a few seconds. Then re-enabling the indexers allowed it to start searching for episodes from scratch and it’s now working fine again.