That second sentence seems a fair assessment.
TruffleRuby does support many native (C/C++) extensions so that's rarely an issue.
But indeed in such a large codebase it's likely to depend unexpectedly on CRuby-specific behavior. And while that can be fixed it takes some effort either in TruffleRuby (to match CRuby) or in the app (e.g. to avoid relying on `RubyVM`).