How long does it take when you request the metrics directly from node exporter ? Can you exclude one collector at a time to see which one is the slow one?
Generally, node exporter doesn't "do" much other than collect metrics from the kernel; if it is slow most likely something else is too.
"context timeout exceeded" is Go's words for "this took longer than the configured timeout". The only way to make it go away is to make whatever is happening take less time than the timeout, or extend the timeout to be more than it takes.
/MR