You are correct that the level of opponent should reflect their difficulty, in general (an opponent 5 levels higher than your character being noticeably tougher than one 2 levels higher, etc). I don't have a problem with certain opponent types being being more or less vulnerable to particular character builds, or just being tougher/weaker than similar opponent types. Overall, though, level should at least be a rough indicator of an opponent's challenge rating (initially the level may be all you know about an opponent, other than appearance).