Does AT TIME ZONE automatically take care of DST conversion?
Yes, it accounts for it:


  AT TIME ZONE applies specific rules for converting input values in
  smalldatetime, datetime and datetime2 data types, that fall into an
  interval that is affected by the DST change


As per the MSDN article on the expression. The sys.time_zone_info column supplies information on if the zone currently is in DST, but the article above indicates that the rules take into account DST given a specific date time value. 

Example:

/*------------------------
SELECT SYSUTCDATETIME() AT TIME ZONE 'Eastern Standard Time';
------------------------*/

----------------------------------
2017-01-18 22:18:12.3789253 -05:00


And when we try using a date with a different DST offset:

/*------------------------
SELECT CAST('2017-07-18' AS DATETIME) AT TIME ZONE 'Eastern Standard Time';
------------------------*/

----------------------------------
2017-07-18 00:00:00.000 -04:00


It assigns a different DST offset value, being aware of whether or not the date falls into DST.