PHP Carbon Check If Chosen Date is Greater than Other Date

It Might be, the time zones are not the same, so try this

$chosen_date = new Carbon($chosen_date, 'Europe/London');

$whitelist_date = Carbon::now('Europe/London');
$whitelist_date->addMinutes(10);

Remember you can always construct the instance and set the timezone for it:

$date = new Carbon();
$date->setTimezone('Europe/London');

$whitelist_date = $date->now();

Any tips on how I can manage data for users with different timezones?

You can create different objects with different Time zones. Try this and play with the results.

$london_date = new Carbon($chosen_date_from_london, 'Europe/London');
$colombia_date = new Carbon($chosen_date_from_colombia, 'Bogota/America');

Let's say you compare them:

$are_different = $london_date->gt($colombia_date);
var_dump($are_different); //FALSE

Nope, they're not different, although they're different times when you stare at the clock and in different parts of the world, they're still in the same Present Moment, the NOW.

There you go, just crate different objects or instances of Carbon(), and set different time zones using $instance->setTimeZone(TimeZone);