There are some traditionalists out there :)
The standard ML implementation treats gaps like missing data (N or ?); if the probability for each nucleotide is the same, like here, this would result in an N/- as the reconstructed ancestral state meaning the ancestral state reconstruction has been ambiguous. Classic RAxML would have done this exactly like this for this case, for (near-)equal p(X) the returned "State" would be "-".
But I have to pass this on to the programmers, whether RAxML-ng should (still) do this. It would be indeed easier to grasp for biological users, if it pops out an N as many of us don't know that Ns equal gaps in standard ML frameworks (there has been a lot of likewise questions here on the RAxML GoogleGroup). But from an inference point of view, there's simply no difference between Ns and gaps when we work with the standard nucleotide substitution model. There is (should be) a difference, when we e.g. go for genotype/mixing models and reconstruct ancestral polymorphisms; a gap would have the tip-probability vector p(0,0,0,0), while an N would have p(1,1,1,1); and a R (A or G) e.g. p(1,0,1,0)
/G
PS If you want to treat the gaps as an explicit fifth state, you can recode your matrix as multistate (A = 0, C = 1, G = 2, T = 3, - = 4) for RAxML. RAxML-ng provides a very sophisticated to analyse multistate data, i.e. you could provide with an according substitution matrix reflecting the standard optimised 4x4 nucleotide matrix and adding a probability to lose a nucleotide.