It is impossible for Sentinel to be configured to prevent split-brain.
There are several scenarios where it can happen, one of which is pretty much guaranteed to occur so I'll go into it first: Recovery.
Scenario: Master dies, slave promoted, master comes back.
When the old master comes back it will start up as a master. It does this because last it knew, it was the master. it has to be up and running before Sentinel can inform it of its demotion. During this time you will have both systems reporting as master and HAProxy will proxy to each based on its load balancing choices.
That is just the general case of every single recover of the master short of a complete rebuild. However, that isn't all. For this case it is even worse. The overall setup is terrible for Sentinel. You have a case where one instance is expected to be available offline. Where do you run sentinel and what settings do you give it? When the laptop goes offline, how is the master on the network to be informed, and what is it to do? If you tell it to be master, how will you do it?
You could do it before removing the laptop. But with sentinel you'll need to be either running a single one on the laptop or you will immediately create split brain. You'll have two masters because if sentinel runs on the network it will always promote the network master. Yet the app needs to talk to a master offline - ie. the local one. So now you'd have two masters. Ok, so what if we only run a single sentinel on the laptop, and issue a manual failover request before disconnecting?
You've just created split brain in HAProxy. This is because during a manually issued failover, there will be a time where both instances will report master. Again, w/the "advanced checks" the HAProxy people put out there you will now have requests "load balanced" across two masters. So what if you run the sentinels on the network? The reverse happens.
You can't let sentinel just handle it because if the only sentinel is on the laptop the network one will never get promoted, meaning you are not meeting the requirement. So the HAProxy checks won't solve the problem presented, and are in general a terrible idea if you care about data integrity.
This is why this scenario is not a good fit. Redis is not designed for disconnected use, and neither is Sentinel. HAProxy can't change that, and shouldn't be configured the way that link says if data integrity is important anyway.
Cheers,
Bill