Yup, thanks for the repro case. Just remembered why we didn't implement it on prefabs - it was mainly to do with scaling and not rotation. Scaling a gameobject will result in the localScale being non uniform, and Unity doesn't like to batch non-uniform meshes.
Anyway, if you'd like to enable the lines in bold to tk2dTileMapBuilderUtil.cs
instance.transform.parent = parent;
instance.transform.localPosition = pos;
int rawTile = chunkData[y * tileMap.partitionSizeX + x];
Vector3 scale = prefabGameObject.transform.localScale;
if (BuilderUtil.IsRawTileFlagSet(rawTile, tk2dTileFlags.FlipX)) scale.x = scale.x * -1;
if (BuilderUtil.IsRawTileFlagSet(rawTile, tk2dTileFlags.FlipY)) scale.y = scale.y * -1;
instance.transform.localScale = scale;
Quaternion q = prefabGameObject.transform.localRotation;
bool rot90 = BuilderUtil.IsRawTileFlagSet(rawTile, tk2dTileFlags.Rot90);
instance.transform.localRotation = q * Quaternion.Euler(0, 0, rot90 ? -90 : 0);
// Add to tilePrefabs list
TilePrefabsX.Add(baseX + x);
TilePrefabsY.Add(baseY + y);