Milestones are activities and as such they might have an impact on the successors. They are not always dummy links only good to highlight some events, they can even be driven by their own calendar, can be assigned costs and even resources. Yes even resources and this might have an impact on resource leveling even when the demand of the resource is for 0 time, here might be very dependent on your specific software.
It is common to use contractual milestones and set a finish constraint to the milestone to show up criticality on intermediate contractual milestones. They can affect how float is displayed up to the point to create negative float and make late dates earlier than early dates if your software uses pseudo mathematical algorithms that break the rules of physics (wrong modeling).
Please note that I am not telling that the use of constraint to show criticality is wrong, but that the implementation by some software can be wrong.
In the following figure you might see how different milestone settings will have. Take particular attention to Milestone at phase 4 that has an unattained finish NLT (no-latter-than) constraint, the software displays it critical ( 0 float) but did not fooled the laws of physics by making late earlier than late dates, therefore it did not created negative float and will never yield S curves where Late Curve at a portion or at the whole will be on top of the early curve an incomprehensible pseudo mathematical result.

Best regards,
Rafael