Is Synonyms to tables cost effective within SQL Server 2016
According to this post - 


  As a synonym is an abstraction/alternative name for an already
  existing database object, in the case of a table, index behaviour is
  identical to that of the underlying object i.e. when execution plans
  are generated, the same plan is generated irrespective of using the
  table name or corresponsing synonym.


You can verify the execution plans when using both the regular object and the synonym to see if they generate the same plan.

This post has a similar question:


  How does the use of synonyms effect performance?
  
  More specifically, are synonyms replaced with fully qualified names in
  execution plans? It would seem to me that any synonym has to be
  resolved to the actual object so any query or procedure that doesn't
  have a cached plan is going to have an extra step in mapping the
  synonym to an actual object. I'm thinking there would be a very small
  performance hit in this. Perhaps a slightly larger hit when the
  synonym references an object on a different database and slightly
  larger still when on a different server.


The answer given was 


  They are swapped out in the Bind phase of query execution same as a
  view would be expanded. This happens before the Optimization phase
  where the execution plan is generated so while you'll still see a
  reference to the synonym in the query text you will only see
  references to the objects the synonyms point to in the execution
  plan's operators.
  
  Any performance hit, if you want to even call it that, that might be
  associated with using synonym is not at all worth being concerned
  about.


I'm sure Paul White (or another expert will provide a definitive response).