Your concept of the macro as a pseudo function is all wrong.
Your definition of the macro is very wrong with a lack of line continuation operators , so it looks like you got off lightly.
What you see
What the compiler sees
That's what the expansion does.
#define TIMEOUT_CHECK ( (millis() - timeout_start) > timeout_ms )
Looks better to me