I think the MikroTik documentation could be improved. #1 all documentation should be using rfc5737 TEST-NET-1, TEST-NET-2 and TEST-NET-3 addresses to stand in for global ip addresses. Using rfc1918 addresses for "global ip addresses" is confusing to many people. There is no explanation given about how/why the "nat is undone". So I can understand why this is confusing to someone that doesn't know how dynamic nat translations work. At least a mention of connection tracking or nat translation table would have helped. I think both BartoszP's and Sob's explanations are clearer in the word explanation than the MikroTik explanation is.
I think a packet capture with the packets as they are sent and received would make things more clear for people that like to see how things work.
Greg Sowell's "solution" looks a bit more "general", i.e. it would if there are multiple "servers" on the same subnet. But I was surprised that the masquerade rule for hairpin didn't include out-interface=ether2, but since its the only interface that would match both src and dst addresses, I guess it is not ambiguous. See
MikroTik Internal Hairpin for context
add action=masquerade chain=srcnat disabled=no dst-addresses=192.168.1.0/24 src-addresses=192.168.1.0/24