Why does get_posts only show results for Admins or logged-out users?

try to use a new WP_Query, when you use get_posts you’re using the main WP_Query this has hooks that other plugins can use to alter the query.
something else i saw is that you’re using include key which is not valid

$my_query = new WP_Query( array(
  'post__in'       => array( 1633, 1634, 1635 ),
  'post_status'    => 'any',
  'post_type'      => 'attachment',
  'post_mime_type' => 'image',
  'order'          => 'ASC',
  'orderby'        => 'post__in'
) );