Try not to think about electron flow. It is unnecessary and confusing at best, and downright misleading at worst. Electrons have their place in the description of the physics of electrochemical cells and semiconductors, but they are mostly irrelevant for circuit behavior. In the few instances where you actually care about the "charge carrier" such as the hall effect -- the answer is not what you expect. P-type semiconductors behave for all the world as if current is carried by positive charge carriers (aka holes), even though the only mobile "fundamental particles" in them are electrons.
Likewise, fundamental rules of electrical circuits such as Kirchoff's laws don't actually work if you try to think of current as "an electron flow but reversed because ben franklin got the sign wrong". For instance, Kirchoff's Circuit Law is the conservation of current -- the current flowing into a node equals the current flowing out of a node. What if my node is the plate of a (air/vacuum gap) capacitor that is being charged? Charge flows into the plate but not out. So is KCL wrong? If you define current as charge movement, the answer is yes. But if you define current in terms of maxwells equation: charge movement plus dE/dt (aka displacement current), then the electric field in the capacitor gap is also counted as a current, and KCL works. So while you could of course use either definition, one is obviously more useful. This total current = charge motion + displacement current is also the thing that causes magnetic fields.
What you actually care about are fields. This is why it is OK that the electron drift velocity is measured in mm/s, but signals propagate at the speed of light: more specifically, at the speed of light in the dielectric surrounding the conductors. That is because the fields are almost entirely in the dielectric, not the conductor.
Voltage, or electric potential is just a convenient way of keeping track of the electric field. The electric field is a 3-D vector. That gets cumbersome to try to design circuits with. However, it has an interesting property. If you start at point A, and travel to point B, at each point adding up your "electric field headwind", the answer you get is the same no matter what route you take from A to B.. We called that summed electric headwind the potential difference between A and B. You can show that the potential difference also has another nice property: The potential between A and B can be described in terms of the potential to an arbitrary third point, "O" (for origin). The relationship is: V_AB = V_AO + V_OB = V_AO - V_BO. That means if I pick an arbitrary origin, and calculate all the potential differences between every possible point and the origin, I can calculate the potential difference between any two points. Since the origin is arbitrary and doesn't affect any of my potential differences, I can just ignore it, and pretend I have something called "the voltage at a point". If I change my origin point, I add or subtract a constant to all of my "voltages" -- but remember: the voltage is just a convenient way of keeping track of the electric field. Changing my origin or changing the zero offset of the my potential doesn't change the electric field at all, and that is what I actually care about. The mathematical way of explaining this is that the electric field is the gradient (a type of derivative) of the potential, so adding an arbitrary constant doesn't change the result.
Tl;dr: circuit design is applied maxwell's equations, and maxwell's equations don't care about the sign of the charge carrier. Even when the charge carrier matters, the useful thing is not what you might expect, such as in P type semiconductors.