Die 10k zwischen µC und Mosfet sind definitiv zu hoch. Schau dir mal an, welche Ladung ein Mosfet braucht, um voll durchzuschalten.

Für Rx braucht man an sich keinen besonderen Widerstand. Das Signal wird ja von der anderen Seite gesteuert. Wenn du jedoch automatisch erkennen willst, ob die serielle Schnittstelle oder I2C verwendet wird, dann wäre ein Widerstand nach GND oder 5V eventuell sinnvoll, um Fehlerkennungen durch Signalstörungen zu vermeiden. Wenn an dem Rx Pin kein langes, ungeschirmtes und nicht angeschlossenes Kabel hängt, dann sollte auch der interne Pull-Up reichen.

Bei PWM sind sehr unterschiedliche Frequenzen möglich und üblich. Das kann von 100 Hz bis einige 10 kHz gehen. Ich würde erst mal mit ein paar kHz anfangen. Wenn es zu störenden Geräuschen kommt, dann kann man immer noch eine höhere Frequenz versuchen.