The way to join the entity to itself and use joined fields in UI
You'll need to change your starting approach; hook_views_pre_execute() is for modifying a View prior to execution, not for providing new table data to integrate into Views. You won't be able to plugin into the UI from this hook.

If you're wanting to plugin into D8 Views system so that it can be seen by the Views admin UI, you'll need to implement various plugins that the D8 Views modules will use to look up your table data, fields (columns) &amp; relationships (joins) that Views can use to build queries on your data table.

Start by following tutorial examples like Building Views Query Plugins for Drupal 8 or by looking at a well-known module with Views integration (e.g. node, user) to understand &amp; implement the various plugins that provide Views integration.