In order to keep Sam out of the room where the cat food is (because boy will she eat it all!), we put low boxes in front of the door. The cat can jump them but the puppy can't.. or should I say "couldn't". She can now

But it worked for a good two months at least.
Now we've started feeding the cat in the window-sil, and we've taken to corralling the litter box between two baby-gates in the hallway -- again the cat can jump the gates but the dog can't (and never will, most likely).
So maybe try to find something the dogs can jump over but the puppy can't. Otherwise, you'll be looking at umbilical-cord with a leash, or isolation as you mentioned.
The reason the puppy is pee'ing in the other rooms is most likely because he has too much space though, I'll say that much. That's the reason Sam had accidents in the beginning. When the puppies are young, confining them to a very small location, as well as leashing them to you when they aren't in that location, is key in a lot of ways. Your pup is so young, he can't really control his bladder yet after all.. so if he needs to go, and he's in another room, and he spots something grass-like.. hey, it all makes sense to him!

I personally think isolating him into a smaller area is your best bet. Up until recently, all Sam got was the kitchen, and then we slowly opened her up into the living room. Then we tried giving her the hallway, but she started pooping in it -- that's when we realized we gave her too much too fast. We reduced the area she got, and she went back to behaving. Now she's getting more space again.