Ashran doesn't appear to be considered world pvp by IsInActiveWorldPVP() but GetZonePVPInfo() returns "combat" for the type and "true" for the second argument (which is incorrectly documented as meaning FFA and I'm not entirely sure what it means).
Depending on your definition of active pvp, I think something like this should work.
Lua Code:
local function IsAreaActivePVP()
local _, instanceType = IsInInstance()
if instanceType == 'pvp' then return true end
local pvpType, isSubZonePVP = GetZonePVPInfo()
if pvpType == 'arena' or (pvpType == 'combat' and (isSubZonePVP or IsInActiveWorldPVP())) then return true end
return false
end