MSC and UAS are SCSI transport protocols and have nothing to do with a device being identified as a removable device, which happens at the higher command set layer.
Specifically, flash drives typically set the removable media bit in their response to the SCSI INQUIRY command, which makes the OS believe they contain a medium that can be removed and replaced, like a floppy, "superfloppy" (Zip, LS-120, SyQuest, etc.), or optical drive.
This is why Windows, in particular, exhibits curious behavior when dealing with flash drives:
It assigns a drive letter to a flash drive even if it contains no partitions — MS-DOS and Windows floppies, "superfloppies", and optical media were traditionally unpartitioned.
It allows you to eject the "medium" from the drive — at which point it typically becomes unusable, like a floppy drive with no disk inserted, unless you have a way to send a START STOP UNIT command with the load eject bit set (e.g., the sg3_utils[1] sg_start command), which directs a removable drive to attempt to load the inserted medium (a tray-loading CD-ROM drive with an open tray will retract the tray and spin up the disc, if present; a tape drive capable of injecting an ejected tape will do so; a flash drive with nothing to physically eject will once again present as a drive with medium present).
Most usefully, it causes Windows to default to more conservative caching behavior that makes surprise removal safer (this can be changed for specific devices via Properties in Device Manager), and therefore doesn't display a warning when the drive is physically disconnected without requesting disconnection from the OS and waiting for the "safe to remove" notification.
Specifically, flash drives typically set the removable media bit in their response to the SCSI INQUIRY command, which makes the OS believe they contain a medium that can be removed and replaced, like a floppy, "superfloppy" (Zip, LS-120, SyQuest, etc.), or optical drive.
This is why Windows, in particular, exhibits curious behavior when dealing with flash drives:
It assigns a drive letter to a flash drive even if it contains no partitions — MS-DOS and Windows floppies, "superfloppies", and optical media were traditionally unpartitioned.
It allows you to eject the "medium" from the drive — at which point it typically becomes unusable, like a floppy drive with no disk inserted, unless you have a way to send a START STOP UNIT command with the load eject bit set (e.g., the sg3_utils[1] sg_start command), which directs a removable drive to attempt to load the inserted medium (a tray-loading CD-ROM drive with an open tray will retract the tray and spin up the disc, if present; a tape drive capable of injecting an ejected tape will do so; a flash drive with nothing to physically eject will once again present as a drive with medium present).
Most usefully, it causes Windows to default to more conservative caching behavior that makes surprise removal safer (this can be changed for specific devices via Properties in Device Manager), and therefore doesn't display a warning when the drive is physically disconnected without requesting disconnection from the OS and waiting for the "safe to remove" notification.
[1] https://sg.danny.cz/sg/sg3_utils.html