Been continuing research on this and found a number of things that seem possibly relevant.
This rather old post from 2013 talks about autonegotiation mismatches and problems they can cause. This seems plausible for my situation because I have not been able to get autonegotiate settings on the vmware ESXi side to stick. So I have disabled autonegotiation for now to see if that helps.
https://herdingpackets.net/2013/03/21/disabling-gigabit-link-negotiation-on-fiber-interfaces/
I can’t quite determine if autonegotiation should or should not be enabled or even if it is supported for these 10G DAC links. Seems to matter if it is 10G-baseT or if we are talking about 10GbE. Some standards say it is required. Then lots of people online are saying it is best practice to hard code and not use it on 10G. But as the above link says, a mismatch seems like a definite problem so I have disabled it since it is showing as disabled in my vmware environment.
https://networkn3rd.wordpress.com/2013/04/15/10g-auto-negotiation/
http://noahdavids.org/self_published/gigabit-AN.html
https://forums.juniper.net/t5/Ethernet-Switching/10Gb-SFP-Autonegotiation/td-p/314645
Then somehow I stumbled on “Unidirectional Link Detection” (Cisco UDLD) which seems to describe a problem that might manifest with similar symptoms to what I am seeing. Is there some similar protocol or implementation on Mikrotik?
https://en.wikipedia.org/wiki/Unidirectional_Link_Detection
Finally, I wonder if it could matter that I had flow control disabled?