as this would be illegal
I wanted to call this out. In most jurisdictions, it is not illegal (as in, "against criminal law" or "you can go to jail") to break a software license term. Software license terms are a matter of civil law, meaning a contract between two parties, and breaking a contract term is not against the law per se. The aggrieved party may be able to take the license to court and bring a civil claim against the breaking party, and that may result in some kind of civil damages, but it's still not "illegal." In most of the western world, only the elected voting body of a country can make laws; a contract (such as a license) only makes contractual agreements.
So, Broadcom can ship a closed-box binary BLOB, saying "this is hardware/firmware/source code." RPi can in turn link against that blob and ship a GPL kernel with BLOB support. This is not illegal.
Then, someone can come to RPi and say "please ship all source used to link that kernel," and they will redistribute the binary BLOB, which is what they used, and I believe that would actually fulfill the GPL requirements. However, I don't have a law degree, so my opinion on that matter isn't worth much.
The question then is: What would happen if someone (presumably the FSF) tried to bring RPi to court? Assuming the GPL is enfoceable (which we don't know for sure), the court might compel RPi to disclose their source code. However, that's just the binary blob, which they already released! No action of RPi can compel some uninvolved third party (such as Broadcom) to take an action under the GPL. The worst that could happen would be for the FSF to tell RPi to stop shipping Linux kernels because they don't like the format of the "source code" used (a k a the binary BLOB). Sure, they might do that, and then a zillion other separate distributors will likely start doing the same thing from all kinds of different countries and jurisdictions.
Taking the GPL to the extreme, something that uses specific hardware register configurations, timings, etc, is "hard linked" against the behavior of that hardware, and if you successfully make that argument, then the VHDL of the hardware chip that the software runs on must also be made available. However, in practice, this never becomes a problem. I would see the BLOB interface as very similar to that case. Also: compare System Management Mode in some SoC x86 implementations like the Geode, or even VMWare. VMWare virtualizes certain hardware ports, but it's not believed that this causes VMWare to become GPL when you run the Linux kernel on it.
This is a very complex licensing area where there are no clear answers, and the answer may be different in each jurisdiction. However, one thing is sure: it is not "illegal" (in most jurisdictions I know about.)