The position depends on the design of the motor, but the position of the sensor is not magic.
The following image shows the most simple BLDC motor with just one pair of coils and a rotor with two poles, at the moment when polarity is changed:

From left to right:
- The e-magnets still attract the the poles the permament magnet of the rotor and create torque
- The polarity of the e-magnets changes
- The e-magnets repel the poles of the stator facing them and attract the poles on the opposite side, creating torque
The hall sensors of these BLDC motors often already contain a comparator giving a high
or low
level, indicating if they see a N or S pole.
In the example above, such a sensor would be placed where the blue triangle is. The electronics behind would make it so that the polarity of the e-magnet on the right is always the same as what the sensor sees.
You'll find this principle in that fans used in computers, though there are two pairs of coils and the rotor has four poles:

(Source)
Note that the sensor is placed so that it sees the transition when the poles of the rotor are exactly aligned with the coils!
Another type of motor uses a rotor with two poles and three pairs of coils:

(Source)
In the most basic mode of operation, each pair of coils changes its polarity when the rotor poles are aligned to it, i.e. pair A1/A2 is just about to change in the picture. (In reality, it's more complex, see the source). So you could use three hall sensors in there, each responsible for one pair of coils.
So, now it depends on the design of the motor - how many coil pairs are used, and how many poled does the rotor have. With some logic or
some intelligence of the controller, it is also possible to spare some sensors.
'Pole pairs' is the number of North and South magnet pole pairs. 'Poles' is the number of individual North and South poles (always an even number).
Unless it has a separate rotation sensor, The controller cannot tell how many poles the motor has or what mechanical speed it is doing. From the controller's point of view all motors have 2 poles and 3 phases, which requires 6 commutation steps per 'electrical' revolution. So you could have a 4 pole motor that needs 12 steps per revolution, and the controller will think it has done a full revolution when the rotor has only gone half way around.
All else being equal, a controller which works with 6 or 8 poles should also work with 4 or 2 poles. Secondary factors might have an effect, eg. 2 pole inrunners often have very low inductance and are designed for high rpm, which might not suit a controller designed for high torque outrunners.
Best Answer
Best not to use a magnet (a Neodym magnet is strong enough to demagnetize a Ferrite magnet). Just use a screwdriver or other object made from ferrous metal. It will be attracted to each magnet pole in the rotor, so mark the first attraction point and move it around the circumference of the rotor while counting poles until you arrive back at the start.
Depending on magnet configuration and winding pattern, The number of stator arms or slots may be higher or lower than the number of magnet poles. The chart below shows some example combinations (blue boxes are known good combinations, orange may work but were not tested). You can see that a 3 slot motor may have 2 or 4 magnet poles.