External fragmentation in fixed size partitioning
You seem to feel external fragmentation should not be possible with a fixed size algorithm – I wonder why?

Summary: A fixed size algorithm probably only helps if all requests are for the size it provides.

External fragmentation has, in general, more to do with the order of de-/allocation and the strategy for placement of allocation blocks in the available space than with the size of space allocated for a given request. However, if all requests are for the same single fixed size as the algorithm allows for the caller (i.e. minus any internal overhead), then fragmentation will no longer be a functional problem: although allocated and unallocated blocks may be interspersed, this will not reduce the total number of allocation requests that can be satisfied. There could however be consequences for performance, especially if the algorithm does not maintain a chain of free blocks.