Sí, es correcto. Si el tamaño original de la imagen es más pequeño que el máximo establecido (350x300 píxeles en tu caso), la imagen se subirá con su tamaño original sin ningún cambio.
if($file_type == 'image/jpeg' || $file_type == 'image/png'){
$img = imagecreatefromstring(file_get_contents($_FILES['filephoto']['tmp_name']));
$orig_width = imagesx($img);
$orig_height = imagesy($img);
$max_width = 350;
$max_height = 300;
$scale_width = $max_width / $orig_width;
$scale_height = $max_height / $orig_height;
$scale = min($scale_width, $scale_height);
$new_width = ceil($scale * $orig_width);
$new_height = ceil($scale * $orig_height);
$new_img = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($new_img, $img, 0, 0, 0, 0, $new_width, $new_height, $orig_width, $orig_height);
$new_filepath = 'imguser/'.$username.date('d').mt_rand(1,100).bin2hex(random_bytes(mt_rand(2,5))).'.jpg';
imagejpeg($new_img, $new_filepath);
}
lo estoy colocando bien, es que subo una imagen inferior a 350x300 y cambia el tamaño