Yes, if you cancel the plan before the policy start date, you will get a full refund back. If you need to show the insurance confirmation as part of the visa process, then you can definitely buy beforehand, and if the visa is denied, you can cancel the policy before the start date and get a full refund back. You will need to send a written email request to get the refund. If you do not have to show the insurance confirmation to get the visa, it would be better to buy the policy after the visa is granted. The policies can become effective as early as the next day after you purchase the policy, so you can even buy the policy the day before you travel.
Insurance rates are regulated by law. You can't find the same insurance plan for a lower price anywhere else