Check if an entity exists in a Azure Table Storage
If I remember correctly, accessing a row by PartitionKey and RowKey is built to be the fastest operation you can do on an Azure Table Storage. The performance drawback of using a DynamicTableEntity probably isn't worth it unless the returned entity is really big.

I feel like you should stick to the Retrieve, but there's no better way to be sure than to profile both your solutions for performance to see which is better with your data.

Because there's nothing else to say about your code, from what I know, you have the 2 existing solutions in your hand. Figure the best one now :)