ULID or UUID v7?
Both put 48 bits of milliseconds first and sort by time. A ULID is 26 characters with no hyphens, easy to read out; a UUID v7 fits a uuid column and every library that expects a UUID. Inspect turns a ULID into its UUID form when you need both.
Are ULIDs case-sensitive?
No. Capitals are the usual form, but a ULID in lower case means the same 128 bits, and Inspect reads either. Keep one case in storage, since a text column sorts capitals and lower case apart.
How many can be made in one millisecond?
More than anyone needs: the random part is 80 bits, and it counts up by one for each ULID in the same millisecond. A thousand made at once come out in order, those in one millisecond counting up from the first.