Get posts from 2 or more categories

The ‘category__in’ parameter accepts an array. You’re giving it a string of comma-separated values. Also, you need to use explode() instead of implode(). implode() is for joining array elements with a string, while explode() is for splitting a string by another string. Try this instead:

$args = array( 
    'category__in' => array( explode( ot_get_option( 'beautiful_categories' ), ',' ) ),
);
$query = new WP_Query( $args );