Specifically, this is happening on 32 core nodes, and it looks like the second syntax refuses to see the second node.
The first syntax shows one task bound to each physical core on one node, then one to each physical core on the second node.
The second works up to 8 tasks, and each are bound to 4 cores on the first node, but as soon as I exceed that it complains, perhaps because it's trying to bind the tasks that are supposed to be on the 2nd node to the 1st node's cores.
This is openmpi 4.1.4, on Rocky 8, BTW