I have migrated my home network for a Ubiquiti EdgeRouter-X, TP-Link 8 port gigabit switch (dumb switch), UniFi AC AP Lite & UniFi AP Lite to a MX64, MS220-8P & MR33. So far so good, however I cannot figure out how to do hairpin NAT on the MX64. Its something I need because I have a Home Automation machine running Home Assistant using Amazon Dash buttons to trigger actions on it. The issue is, they point to home.smccloud.com which is my public CNAME pointing to my dynamic DNS host name.
You don't. You create a separate DNS entry internally for this traffic to follow or you use an internal hostname in the application / device. The internal entry resolves to an internal IP address. Or just put the internal IP in the device so it connects direct?
People make hairpin NAT's in business settings for job security reasons or to make management happy, not for sensible engineering decisions. Keep your traffic flows sensible.