It is unethical only if Grubhub says “I will deliver joe’s 12$ burger to you for a 4$ delivery fee” when the burger costs actually 9$. There’s nothing wrong if they say “I will bring you Joe’s burger for 16$ including delivery.”
In general we don’t expect resellers to reveal their cost of goods sold.
GrubHub describes themselves as a delivery service company, not a reseller. With resellers, I can comparison shop. GrubHub tries to make that difficult at best.
In general we don’t expect resellers to reveal their cost of goods sold.