Our SDKs do not persist variation assignments. We use deterministic hashing instead. Because of this, Mixpanel's distinct id might not fully work how you are expecting since if the user logs in on a different device, they will get a new distinct id generated, which may result in them seeing a different variation.
Unfortunately, there's no perfect solution right now. You can either use long-lived anonymous device ids (like Mixpanel's distinct_id) to ensure users see the same variation when logging in/out of their account. Or you can use a logged-in user id to ensure users see the same variation if they log into their account on different devices (or clear cookies), but that means logged-out users won't be included in the experiment at all.