What is the difference between a node and a machine on OpenShift?
Your interpretation is correct:


  My current understanding is that a machine represents a raw physical or virtual machine; just the computational resources like cpu, memory and storage. Nodes, then, would represent a machine that is configured for using with OpenShift, that is, a machine that contains the services necessary to run pods and is managed by the master components.


The differences arise on the level of abstraction.


A Node in OpenShift is exactly the same thing as a Kubernetes node. It refers to the abstraction of a worker/master "Node" in a "Cluster". The Node abstraction only exists within the boundaries of a running cluster.
A Machine is an abstraction introduced by the Cluster API which is an ongoing effort to allow deploying K8S clusters using a declarative approach. OpenShift is currently adopting the Cluster API hence they expect you to define the host infrastructure required to run your Nodes using the Machine spec.