Generating URLs with fromUri and the language prefix, base vs internal
Drupa8 - as a Symfony application - abstracts paths with routes. So paths may change, the route stays.
So the cited "The internal: scheme should be avoided except when processing actual user input that may or may not correspond to a Drupal route." means: If you can, use a route.
If you can not use routes, the right prefix for routed paths is internal:.
In contrast, base: was introduced for use cases like README.txt which is unknown to the symfony router and served directly by the web server.


You can find background in these issues, and help improve the docs:


Remove the base: scheme in favour of user-path:/internal: [#2422995] which concluded that we still need the base scheme
Evaluate and document each use of base: in core [#2417827] which then was started to at least document usages of the base scheme
Url::fromUri DocBlock does not mention base: and internal: custom schemes [#2877023] which is about improving the docs