It looks like the following condition is causing the issue:
!array_key_exists('allow_alter', $attributes)
I feel like this condition should probably still be in place, but some reason the key exists before this point during table creation, which I assume is unintended.
private function verifyPrivilege($attributes) {
debug_print_backtrace();
// Making sure alter is set for admin only.
if($this->isCurrentUserAdmin() && !array_key_exists('allow_alter', $attributes)) {