Yesterday, some time after I read about the toggling through writing to PinX, I thought, nice to create pulse trains, but I don't think I have a job for it. What lacks is a defined state. It's only flipping bits. Initialisation or a missed edge can derail it.
So you want PB4 to reflect the inverted state of PB3. Read PinB,3 and transfer this bit, inverted, to PortB,4. That is a defined state.
OK, I was a little challenged that we could not make such a simple thing work, so I build it in in my current project.
Ldi Temp,(1<<PCIE0)
Sts PCICR,Temp
Ldi Temp,(1<<PCINT3)
Sts PCMSK0,Temp
PC_INT0:
Sbic PinB,3 ;skip next instuction if PinB,3 is zero
Rjmp IntClr ;
Sbi PortB,4 ;Set PortB,4 to one
Rjmp IntOut ;ready
IntClr:
Cbi PortB,4 ;PinB,3 is one, set PortB,4 to zero ;
IntOut:
Reti
And here is it running at a leisurely 134 Khz. On edit: Blue = PB3, Yellow = PB4