Custom User Admin not taken into consideration

I am new to django and going through legacy django project where Custom user admin is configured with following:

app1/admin.py
from .models import User

@admin.register(User)
class UserAdmin(DjangoUserAdmin):
    """Define admin model for custom User model with no email field."""

    fieldsets = (
        (None, {'fields': ('username', 'password')}),
        (_('Personal info'), {'fields': ('email', 'first_name', 'last_name', 'phone_number',
                                         'type_of_user', 'timezone', 'deleted', 'is_supervisor',
                                         'supervisor', 'role')}),
        (_('Permissions'), {'fields': ('is_active', 'is_staff', 'is_superuser',
                                       'groups', 'user_permissions')}),
        (_('Important dates'), {'fields': ('last_login', 'date_joined',
                                           'created_date')}),
    )
    add_fieldsets = (
        (None, {
            'classes': ('wide',),
            'fields': ('email', 'username', 'password1', 'password2'),
        }),
    )
    list_display = ('username', 'first_name', 'last_name', 'is_staff')
    search_fields = ('username', 'first_name', 'last_name')
    ordering = ('username',)

Also in app1.models.py, where CustomUser is further inherit from AbstractBaseUser.

class User(CustomUser):
    first_name = models.CharField(max_length=1024, db_index=True)
    last_name = models.CharField(max_length=1024, db_index=True)
    phone_number = models.CharField(max_length=1024, blank=True, null=True)
    is_supervisor = models.BooleanField(default=False, db_index=True)
    license = models.CharField(max_length=1024, blank=True, null=True)
    type_of_user = models.IntegerField(choices=TYPE_OF_USER, default=1, db_index=True)
    created_date = models.DateTimeField(default=timezone.now)
    timezone = TimeZoneField(choices=[(tz, tz) for tz in pytz.all_timezones])
    deleted = models.BooleanField(default=False, db_index=True)
    load_id = models.CharField(max_length=1024, null=True, blank=True)
    approval_status = models.IntegerField(choices=APPROVAL_STATUS, null=True, blank=True)
    supervisor = models.ForeignKey('self', on_delete=models.SET_NULL, null=True, blank=True)
    last_alert_sent_on = models.DateTimeField(null=True, blank=True, db_index=True)
    role = models.ForeignKey("common.Role", on_delete=models.SET_NULL,
                             null=True, blank=True)    

In settings.py:

AUTH_USER_MODEL = 'app1.User'

There’s no admin.py in main_app folder.

The problem here is that the User model is not associated with this particular UserAdmin.

Even if I remove this @admin.register(User) class UserAdmin(DjangoUserAdmin): in admin.py the users are still displayed.

Here’s the admin interface for Users.

enter image description here

As you see, the fields are also different from what is defined here:

list_display = ('username', 'first_name', 'last_name', 'is_staff')

Why is the custom user admin not working in this case?