duh.
Turbo cleverly pre-fetches GET requests to save loading time. But that resulted in dozens of unwanted clones.
Attack of the clones!!!
I checked: even though this route predates the new products screen, it wasn't being used anywhere else. The old products screen uses the API instead.