How to emulate performant date dimension for SSAS model in tabular mode / direct query
Thanks to @GregGalloway to set me to right track.
I ended up with following schema:

1) I've added new mapping table [DateMap] that materialize mapping between UTC datetime (in those weird quarter-hours) to local time zone (again in  quarter-hours)

CREATE TABLE [dbo].[DateMap] (
  -- time zone code (set as context info for given user)
  [TimeZoneCode] smallint NOT NULL,
  -- quarter hours means datetime trimmed to xx:00, xx:15, xx:30, xx:45
  [UTC_QuarterHours] smalldatetime NOT NULL,
  -- local time zone
  [LTZ_QuarterHours] smalldatetime NOT NULL,
  CONSTRAINT [PK_tmp_DateMap] PRIMARY KEY ([TimeZoneCode] ASC, [UTC_QuarterHours] ASC)
)


2) [DimDate] has primary key set to LTZ_QuarterHours

CREATE TABLE [dbo].[DimDates](
  [LTZ_QuarterHours] smalldatetime NOT NULL,
  [Date] date NOT NULL,
  [Year] int NOT NULL,
  [Month] int NOT NULL,
  [Quarter] int NOT NULL,
  CONSTRAINT PK_tmp_DimDates PRIMARY KEY ([LTZ_QuarterHours] ASC)
)


3) [Entity] table has new column [CreatedDateUTC_QuarterHours] - which means original utc date trimmed to quarter hours

CREATE TABLE [dbo].[Entity] (
  [EntityID] int NOT NULL PRIMARY KEY,
  [CreatedDateUTC] datetime,
  [CreatedDateUTC_QuarterHours] smalldatetime
)


4) Entity in model is defined as SQL query like

SELECT e.*, m.[LTZ_QuarterHours] FROM [Entity] e
JOIN [DateMap] m on e.CreatedDateUTC_QuarterHours = m.UTC_QuarterHours and 
  m.TimeZoneCode = fn_GetCurrentUserTimeZoneCode()


Which is pretty fast.