EF Core supports GUIDs as IDs. However, I've run into a couple of instances where it is/not not supported by 3rd party libraries (like https://github.com/artiomchi/FlexLabs.Upsert). I also prefer to use numerical IDs in the database as they take less space and are far more convenient to work with. However, exposing sequential numeric IDs can lead to potentially easy security breaches and brute force attacks.
This is why I prefer to add an Alternative Key UId, and setup it up thus:
builder.HasKey(x => x.Id);
builder.HasAlternateKey(x => x.UId);
builder.Property(x => x.UId).HasDefaultValueSql("newid()");