An exception is thrown while running add-migration (EF core 3.1.1):
CLR property 'DiscriminatorLevel2Id' cannot be added to entity type 'CustomerBase' because it is declared on the CLR type 'InternalCustomer'
The following Image shows the needed hierarchy (briefly):
Mapping looks like:
// Discriminator (Level 1)
modelBuilder.Entity<CustomerBase>()
.HasDiscriminator(b => b.CustomerTypeId)
.HasValue<InternalCustomer>((int)CustomerType.Internal)
.HasValue<ExternalCustomer>((int)CustomerType.External);
// Discriminator (Level 2)
modelBuilder.Entity<InternalCustomer>()
.HasDiscriminator(b => b.DiscriminatorLevel2Id)
.HasValue<VIPCustomer>((int)DiscriminatorLevel2.VIP)
.HasValue<RegularCustomer>((int)DiscriminatorLevel2.Regular);
Is "Multilevel Inheritance TPH" supported on Entity Framework Core 3.1.1?

It's possible, but with single shared discriminator at the root abstract level containing values for all possible creatable (non abstract) direct or indirect derived entities.
Applying to your sample requires removing the
DiscriminatorLevel2property (column), removingInternalfromCustomerTypeenum (assumingInternalCustomeris abstract) and mergingRegularandVIPinto it, e.g. something like this:Model:
Configuration:
When you want to query
InternalCustomerderived entities, you could usedb.Set<InternalCustomer>()ordb.Set<CustomerBase>().OfType<InternalCustomer>()and EF Core will apply filter similar tot.CustomerTypeId IN (1,2), i.e. theINclause will contain list of discriminator values for all final entities derived fromInternalCustomer.