I am trying to build a Flow that creates a task list item in SP2016 when a new email arrives in a shared mailbox. Here is the field schema for the custom task content type:

The only required field is Task Name.
I cloned the whole Task list to SPO (using ShareGate) for testing. The Create Item action works perfectly on the SPO list, but it does not work on the original SP2016 list, run over the DMG.
The error I'm seeing is:
{
"status": 400,
"message": "A value must be provided for item.\r\nclientRequestId: fdeae27f-c1f8-4e06-b44f-7348f685e540",
"source": "sharepointonline-eus2.azconn-eus2.p.azurewebsites.net"
}
What's strange to me, is that the Create File action seems to require a different configuration when used on the SP2016 list versus the same exact list in SPO.
For example, many of the Choice fields will not accept a simple value in the SP2016 action. Flow insists that I pass JSON object into those fields:
I'm fine with that - I'm comfortable with JSON. The problem is, as soon as I try to pass JSON objects into those fields, I get the error mentioned at the top of this post (A value must be provided for item) and the Flow action fails.
I have tried passing values like:
{
"Value": "Admin"
}
as well as:
{
"Id": 0,
"Value": "Admin"
}I don't understand why it's not working. I have looked at the output for the Create Item (to SPO) and the output for Create Item (to SP2016 over DMG) and they are identical (minus the connectors and a few misc fields).
I've examined the JSON source for the Flow itself, and that looks fine, too. The only difference between the two Create Item actions are the connections.
The only way I can get the Create Item action to work over the DMG to SharePoint 2016 is to strip out all non-required values, passing a value only for the Task Name - not super helpful.
I have tried deleting and recreating the Create Item action. I have tried recreating the entire Flow. It's the same error each time.