The Supremacy Clause was not an issue in those cases; no one disputes that laws adopted by Congress are the Supreme Laws of the Land, and have the effect of preempting any contrary state law. The issue was whether Congress was authorized to approve those laws in the first place.
Scalia voted with the majority in Lopez and has been solid regarding the Commerce Clause. The dissent in the Obamacare case does a pretty good job distinguishing Raich. In Raich, the federal government could not permit marijuana to be grown for intrastate consumption without it defeating its policy to prohibit sales of marijuana in interstate commerce, since such marijuana was indistinguishable from marijuana that would be sold in interstate commerce; the analogy used was how the federal government could ban the sale of “hunting trophies” from protected species even when the animal had been hunted prior to the species being protected, since one could not determine whether a “trophy” came from an animal hunted pre- or post-protection. There is no doubt that marijuana is sold in interstate commerce, and for the reasons stated above it was appropriate for the federal government to ban ints production.
Regarding the use of the taxing power, Scalia voted (as you noted) with the majority in SD v. Dole, where the Court held that withholding a mere 5% of highway funds from states that did not raise the drinking age was not coercion. I would have dissented, but had Congress offered an extra 5% to states that had a 21-year-old drinking age (instead of taking away 5% from those that didn’t) it would have been a more difficult case; I guess that Scalia thought that either way the inducement/penalty was trivial enough that it didn’t violate the states’ rights.