No, extended Pascal also defines restricted types, but those are basically the equivalent of making the internals of the type private in object pascal. I guess it's closest to what 440bx wants, but also not fully (because they remove all operations not just making them distinct).
Schemata are different, they allow to define type interfaces. To take an example from the extpas standard:
type
variant record(d : a subrange) =
record case d of
1: (f1 : integer);
2: (f2 : integer);
end;
This would be roughly equivalent to
type
generic MyVariant<d> =
record case d of
1: (f1 : integer);
2: (f2 : integer);
end;
On a static level, but it can also be used dynamically, in which case it is like interfaces for classes in Object Pascal. Also it has full typechecking of the schema parameters.
It's extremely powerful, but also extremely complicated. I guess the reason no one implemented it back in the day was because of that complexity. That said, modern compilers can probably do much better, and this feature is mostly implemented in go and Swift.
So ExtPas was just way ahead of it's time with that
About integrating ExtPas into FPC, I'm not sure how well it works, at least if you want 100% compliance to the standard, because ExtPas is pretty consistent in it's definitions, which means all the systems build on top of each other. For example all different types of strings are unified through the string schema and string manipulation functions just take the string schema as argument.
So I guess there would be the possibility to take certain elements from ExtPas, but really full compliance would probably require some re-designs of the FPC internals.
That said, if schemata would be fully incorporated, I'd probably never have to use generics or OOP ever again, because this single concept unifies pretty much all of that into one construct.
I think a good ExtPas compiler with a few slight adjustments (e.g. UTF-8 strings, arbitrary sized integers) with would probably easily take my top spot for favorite language.