So if a 1 is represented by 100 MHz and 0 is 50 MHz, 101 would be 100 50 100. But if the phone sent let’s say 5 zeros in a row, how can the cell tower know if it was one zero or 3 or 5 or 7 since they’re all the same frequency?
Part of the responsibility of the physical layer is to encode the data into symbols that are sent "over the wire." For example, some variants of ethernet use 4B5B encoding that sends five bits on the wire for every four bits of data. This is to prevent more than three zeroes in a row that could throw off the clocking.
There are many different encoding schemes, and you will find that physical-layer protocols without external clocking have an encoding scheme that will facilitate maintaining the clock to prevent too many of the same signal in a row that can throw off the clock.