IN a hub-spoke topology the idea is to place a central Azure Firewall in it's own subnet in the hub network. Any public IPs are attached to this central firewall to enable all management of access to the network in a central, easy to audit place. All the spokes should route traffic through this firewall to enable control of traffic between the spokes. Again in one central place.
This diagram on Microsoft Learn gives a good overview of the setup and the document contains a clear explanation of the various components that make a hub-spoke topology
Services are typically placed in the spokes with exceptions for some infrastructure services like central DNS for your network.