You were wrong about Asad. Azhar has proven to be leagues above despite opening the batting
I would rather say, Asad was unlucky, while Azhar is extremely lucky. For a team like PAK, which is almost forced to play Test cricket, Azhar was lucky that he had a series of matches when he was in prime form & he piled up scores. Asad, was in good form as well between 2012 to 2015, when he scored 100s in SAF & batted with good average, but hardly played more than 2 Test Series. His stats had a nose dive, just when PAK played a series of Tests.
Azhar is doing well one of the main reason for that is, he was sent to open, which is complementary to his core strength of batting - patient occupation on wicket. If you analyze Azhar's game - whenever he has scored big (outside UAE), PAK actually has lost the Test - in SRL, at Birmingham, in NZ, in AUS & at Bridgetown. Because, he scores runs, but takes so much time that it kills the momentum. Not saying he is scoring soft runs, but return (value) of stats (run) is least for Azhar. He'll be statistically very good player, but hardly anyone (opponent) will name him as a major stumbling block for them.