TabExpansion2 functions don't automatically chain. If one overrides another, it's each implementation's responsibility to call the overridden version.
TabExpansion++ is basically TabExpansion2 with some extra stuff, so it'd be best to not call the original TabExpansion2 - that would just essentially double the time when no completions are possible. One possibility is to check $functionTabExpansion2.File - if it's $null, it's very likely the built-in version.
TabExpansion2 functions don't automatically chain. If one overrides another, it's each implementation's responsibility to call the overridden version.
TabExpansion++ is basically TabExpansion2 with some extra stuff, so it'd be best to not call the original TabExpansion2 - that would just essentially double the time when no completions are possible. One possibility is to check $functionTabExpansion2.File - if it's $null, it's very likely the built-in version.