Hello Ridhwan
Just to confirm your topology, the ISP is providing Layer 2 connectivity between HQ and each branch, and the branch routers are using dot1q encapsulation to retrieve those frames that belong to them, correct? So you have Layer 3 connectivity between a subinterface on each branch, and the SVI interfaces in the pair of Layer 3 switches at HQ. I’m still not quite clear as to what kind of infrastructure the ISP is providing in order for you to be able to get one VLAN arriving at each branch router. However, let’s say you have that part figured out.
As far as the OSPF topology goes, I would create Area 0 at HQ and have each of the 150 branch locations belong to a different area. It looks like the communication between branches would only take place via the HQ anyway, so creating a different area for each branch looks like the best way to go. Also, you can configure each branch as a Totally NSSA, ensuring that your OSPF LSDB will be small and efficient, and you will be able to route traffic out of the local Internet connection (if you want to do that).
The rest looks good from what you mention. If you give us some more info on how the ISP interconnects the HQ with the branch offices (Layer 2? Layer 3) we can comment on that part of the design as well.
I hope this has been helpful!
Laz