I'm going to assume you know most of what you are doing. Having built one, you are in a pretty good place and I'm not going to question any of that.
Instead, let's address this:
What I am unsure about are the 1k and 10k resistors I connected to
each anode layer and cathode tower. I don't have them in my 5x5x5 cube
but I read that they are necessary so the currents can go away after
switching layers to prevent ghosting. What do you think about this? It
obviously adds passive current draw to the system...
Ghosting is a worse problem with FETs more than BJTs (as a hobbyist opinion more than a matter of long experience.) FETs are loaded with capacitance. The purpose of the \$10\:\text{k}\Omega\$ resistor is to "pull up" on the LED cathode, "quickly enough," so that the LED itself isn't used for "very long" for the same purpose. Of course, once the driver+stray capacitance has been charged up enough the current stops, regardless. But without the aide of a resistor and because of the fact that the LED exhibits a rapidly and widely varying resistance for pulling up on the stray capacitance, it's really nice to place this under management by adding a parallel resistance.
For a short time as the driver+stray capacitance is first charging, the initial charging current will most likely still come through the LED. But as the charging current diminishes, and the LED resistance climbs rapidly according to the inverse of that charging current, the LED supplies less and less but never really finishes the job so there is always some residual until the next cycle starts. Putting a parallel resistor there means that once the LED resistance reaches a certain magnitude (the charging current gets small enough), then the \$10\:\text{k}\Omega\$ will take over and, at least, act more like a fixed resistor than a variable one while also at the same time now bypassing the LED and removing current from it. Which is a somewhat better situation than before.
You can, better than within an order of magnitude, estimate the resistance of an LED using a simple formula: \$R_{_\text{LED}}\approx R_{_\text{OHMIC}}+\frac{\eta\cdot V_T}{I_{_\text{LED}}}\$. Compared with the \$10\:\text{k}\Omega\$ bypass resistance, \$R_{_\text{OHMIC}}\$ is always tiny so you can completely ignore that term. This leaves the second term, \$\eta\cdot\frac{ V_T}{I_{_\text{LED}}}\$.
\$\eta\$ is a weird 'emission coefficient' and for LEDs is probably 2 or 3. Maybe 4 or more in some cases. But almost never 1. \$V_T\$ is the thermal voltage and probably you should use about \$28\:\text{mV}\$ for this. The last part is the LED current, of course. So you can see how the LED resistance varies with respect to its current. The \$10\:\text{k}\Omega\$ resistor will just be a constant value all the time.
Example: Suppose you can see \$100\:\mu\text{A}\$ in an LED (you probably can
see it as that 'ghosting' effect.) Let's use \$\eta=4\$ and work out
that \$4\cdot\frac{ 28\:\text{mV}}{100\:\mu\text{A}}=1120\:\Omega\$.
At \$10\:\mu\text{A}\$ this would climb to \$11.2\:\text{k}\Omega\$. Etc.
Better, would be to actively pre-charge the driver+stray capacitance, directly at the cathode node during blanking. That would nip everything in the bud, almost immediately. No ghosting problems, at all, then. Or, use BJT drivers, perhaps. (Though that won't impact the stray capacitance.)