Plugin POST route 404...But logic is executed...HUH?

You can use puppetry to automate that process.

That means some of your functions return something that causes 404. I would write all that custom login into a custom service with try-catch instead of writing all the logic in the controller.