What is the starting size of the detection window?
The detection window is always 64 x 128 by default.  To accommodate for the multiscale, the image is progressively scaled to create an image pyramid while keeping the detection window of 64 x 128 the same.  This achieves the effect of searching for humans at larger sized search windows in order to keep the search window the same size.  The image pyramid is constructed by progressively decreasing the image size by the scale factor until the 64 x 128 search window can no longer fit inside the rescaled image.  Therefore, if your search images already consist of 64 x 128 images then there will only be one scale.
This moves to your next question where if scale=1.05, we produce an image pyramid by progressively resizing the input image rows and columns by rows / (scale ** i) and cols / (scale ** i) where i = 0, 1, 2, ... to provide an image pyramid.  For each image in the pyramid, we use the 64 x 128 search window to look for the object of interest.
When using cv2.HOGDescriptor().detectMultiScale, what is the starting size of the detection window used? Is it the same size as my training data?
For example, if my training data are all 64*128 images then the detection window starts at 64*128?
and how is the scaling factor used? For example, If I want to detect humans on an image of size 640*512, and I set scale=1.05, how is this 1.05 used?