I do. I don't really know what to say about it, so if you have any specific questions, feel free. I'll try to explain what it's like.
Example: when I see a math expression x times y, I mentally see a rectangle with side length labeled "x" and perpendicular labeled "y". So understanding (x+h)*(x+h) = x^2 + 2xh + h^2 was totally natural for me. It's not abstract symbols to me, it's pictures in my head. I see a tiny square in the upper right labeled "h^2", and a big square in the lower left labeled "x^2", and two rectangles along the edges labeled "xh".
I never memorized the derivatives of sine or cosine. I just figure them out whenever I need them. Takes a half second or so. Basically, when I need to know a derivative like sine, in my mind I pull up a function plot of sine. I look at the origin (x=0,y=0) and visually see that it passes through the origin and slopes upwards. So I know "when it starts out, sine is already sloped upwards, and as it goes along it slopes less and less, so therefore its derivative starts out as some large positive quantity and decelerates, which is exactly how cosine behaves. So the derivative of sine is cosine." For the derivative of cosine it's similar. I pull up its graph in my head and go "oh, it starts out with zero slope, but then as it goes along it slopes downwards, so it has a negative derivative. Sine starts out at zero, and negative sine would slope downwards as it goes along, so the derivative of cos is -sin." The process isn't as clearly separated as the words I'm using though.
When someone's talking with me about a program's architecture or about a design concept, I picture nodes in my head representing the components of the program. If he mentions a module, I create a new node and label it. If he says it interacts with another module, I draw a connecting line. Eventually I'll have a mental picture of the full system as we're talking.
I usually have a crisp mental picture of each function I write, before I write it. Not individual lines of code; just a clear understanding of its structure, the steps it will perform, and all possible side effects.
My favorite time is just before I nod off to sleep. Laying there with my eyes closed, a dark "hallway" seems to form in front of me, and I start to float forwards through it. Shapes begin to emerge toward me out of the blackness, and I morph them into animals or goblins or whatever I feel like molding them into. Sometimes I lose control and my mind generates horrifying faces or misshapen bodies. I see all of this with the same clarity as waking vision, and the colors are just as vivid. But it's a very narrow field of view, as if I can't see more than a spotlight's width at a time.
I do, however, do exactly the same thing when derivating the sine function since it is so closely associated with the graph of sin(x) by default.
I found your example of building system diagrams interesting. I think I may do the same thing, but often it is unconscious. I do not see the image as I'm constructing it, but if I look, it's probably there.
I'm also tempted to suggest that I have a secondary mode of thinking that involves constructing arbitrarily complex logical trees (i.e. if this is the case, then this must be the case) since I seem to detect logical inconsistencies intuitively and without delay. I do not see them, they just occur to me with no representation at all. Perhaps this is a bit like the "just know it" type of thinking expressed in the parent post.
For me, it is the exact opposite. Teachers would spend ages trying to explain this to me, eventually I just had to accept the equation as being true, it never has really made intuitive sense to me. I dealt with it by coming to the conclusion that it is just the way math is agreed upon being done in the particular syntax we have all agreed upon using.
A good # of math courses later (enough for a minor in mathematics) and that is still basically my understanding. Physical diagrams don't really mean much. For some things they are useful, mostly for intro calculus concepts (which is a subject I find to be amazingly visualizable in general), but I just had to basically take all of Algebra on faith as being "agree upon syntax".
While I conceptualize differently than you, I do play the "morphing shapes/structures game," falling asleep, but it's in black and white. Also, I float around objects on all axises, like floating around the exterior of a spaceship...
Like for you, you process math as a visual representation of what's happening. For me, math is just a written language. I don't see anything, I just read it, write in it, and think it when neccesary.
If there's something I can't understand without a diagram I can try to imagine one, but I usually just draw one. To imagine a system it's like 'speaking with my hands'(or like I've read that sign language works), I arrange the symbols in space, I know where they are in relationship to each other and how they interact. This set is over here, its members go through this function over there, ends up in this bucket here. I guess it's more symbolic and spatial than visual. It's like building a factory or some other kind of apparatus out of symbols that have various relationships or interactions.
All of this happens as I move symbols around on paper or the screen also. It's how I learned how to do math in my head as a kid, repeating things to myself and placing symbols in space.
I also have a strong inner monologue. I tend to think mostly in language but there's also a 'compiled' component, in that when I've really processed something just the symbol is enough.. they don't necessarily have names, I can't put a name to them. In my internal monologue they're just spaces that are filled with feelings I guess. So f(x), that I've internalized might be something like "So, when we put ___ through ___(this one is f) we'll get.."
I suppose sometimes I have no idea what the hell I'm thinking about in terms of a specific symbol and it stands for some computation I haven't completed but I can see how to complete.
I wish I had started with functional programming and lambda calculus, thunks and lambdas seem to map pretty closely to my software.
I also love just when I nod off to sleep, but mainly because that's the best time for me to think. That's the time when I can truly visualize whatever I want and in that state I feel like I can simulate the machines I'm thinking about freely.
Would you mind sending me an email, or putting an email address in the "about" section of your profile? I was hoping to get your thoughts on something.